Anypoint Exchange から American Flights API 仕様をインポートします。開発している American Flights プロジェクトに仕様をスキャフォールディングして、API にエンドポイントを実装するロジックを追加します。
American Flights API 仕様をインポートしてスキャフォールディングする
Anypoint Exchange から American Flights API 仕様をインポートして American Flights インテグレーションプロジェクトのインターフェースにスキャフォールディングします。
-
Anypoint Code Builder でインテグレーション (
american-ws-anypoint-code-builder) を開きます。このアプリケーションについての詳細は、American Flights プロセスの統合を参照してください。
-
コマンドパレットを開きます。
手順を表示
-
キーボードショートカットを使用する。
-
Mac: Cmd+Shift+p
-
Windows: Ctrl+Shift+p
-
-
デスクトップ IDE で、[View (表示)] > [Command Palette (コマンドパレット)] を選択する。
-
クラウド IDE で、
(メニュー) アイコンをクリックし、[View (表示)] > [Command Palette (コマンドパレット)] を選択する。
-
-
次のコマンドを入力します。
MuleSoft: Import Asset from Exchange -
[Rest API] を選択します。
-
Anypoint Platform にログインするように促されたら、ログインし、拡張機能で外部 Web サイトにサインインして開くことおよび Visual Studio Code を開くことを許可します。
-
American Flights API 仕様の名前を入力します。次に例を示します。
American Flights APIこの仕様についての詳細は、American Flights API 仕様の設計を参照してください。
-
名前に一致するアセットのリストが IDE に読み込まれるまで待機します。
-
バージョンを要求されたら、インポートする API のバージョン (
1.0.0 など) を選択します。 -
API 連動関係をスキャフォールディングするように促されたら、[Yes (はい)] を選択します。
このステップでは、プロジェクトの
pom.xml ファイルに API 仕様を連動関係として追加し、新しい設定 XML ファイル (american-flights-api.xml など) を作成します。
-
インターフェースファイルを調べるに進みます。
インターフェースファイルを調べる
キャンバスと設定 XML でインターフェースのスキャフォールディング済みフローとエラーハンドラーを調べます。
-
[EXPLORER] メニューから、目的のインターフェースの設定ファイル (
american-flight-api.xml など) を開きます。 -
[Flow List (フローリスト)] パネルを使用して、フロー間を移動します。
-
[Flow List (フローリスト)] パネルを展開します。
-
リストからフローを選択します。
-
キャンバスでフローをクリックすると、設定 XML 内のフローが強調表示されます。
-
-
設定 XML で、API 仕様のエンドポイント用に作成したフローを見つけます。
-
get:\flights<flow name="get:\flights:american-flight-api-config"> </flow> -
post:\flights<flow name="post:\flights:application\json:american-flight-api-config"> </flow> -
get:\flights{ID}<flow name="get:\flights\(ID):application\json:american-flight-api-config"> </flow>
-
-
自動的に生成されたエラーハンドラーコンポーネントを確認します。次に例を示します。
<apikit:router config-ref="american-flights-api-config" /> <error-handler> <on-error-propagate type="APIKIT:BAD_REQUEST"> </on-error-propagate> <on-error-propagate type="APIKIT:NOT_FOUND"> </on-error-propagate> <on-error-propagate type="APIKIT:METHOD_NOT_ALLOWED"> </on-error-propagate> <on-error-propagate type="APIKIT:NOT_ACCEPTABLE"> </on-error-propagate> <on-error-propagate type="APIKIT:UNSUPPORTED_MEDIA_TYPE"> </on-error-propagate> <on-error-propagate type="APIKIT:NOT_IMPLEMENTED"> </on-error-propagate> </error-handler> -
インターフェースおよび実装ファイルに名前を付けるに進みます。
インターフェースおよび実装ファイルに名前を付ける
American Flights プロジェクトのインターフェースおよび実装ファイルにわかりやすい名前を付けます。インターフェースでアプリケーションへのすべての受信要求を受け取ります。インターフェースのスキャフォールディング済みフローで要求を検証してルーティングします。実装でインターフェースへのコールのためのバックエンドロジックを提供します。
-
ファイル名を右クリックし、[Rename (名前変更)] を選択して、新しい名前を指定することで、
american-flight-api-acb.xml を interface.xml に名前変更します。 -
american-ws-anypoint-code-builder.xml を implementation.xml に名前変更します。 -
インターフェースを介してエンドポイントを設定に進みます。
インターフェースを介してエンドポイントを設定
インターフェースを介して HTTP 要求を受信するには、HTTP リスナーを implementation.xml から削除し、インターフェースファイル (interface.xml) で Flow Ref コンポーネント (<flow-ref/>) を実装の getFlights フローに追加します。
-
implementation.xml を開きます。
-
設定 XML から HTTP /flights リスナー XML を削除します。
<http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" />結果のフローを表示するには、クリックしてください。
<flow name="getFlights"> <db:select doc:name="Query Flights" doc:id="pvuqsc" config-ref="Database_Config" > <db:sql> <![CDATA[Select * FROM american]]> </db:sql> </db:select> <ee:transform doc:name="Transform Message" doc:id="uniqueId" > <ee:message > <ee:set-payload > <![CDATA[ %dw 2.0 output application/json --- payload map ( payload01 , indexOfPayload01 ) -> { ID: payload01.ID, code: (payload01.code1 default "") ++ (payload01.code2 default ""), price: payload01.price default 0, departureDate: payload01.takeOffDate as String default "", origin: payload01.fromAirport default "", destination: payload01.toAirport default "", emptySeats: payload01.seatsAvailable default 0, plane: { "type": payload01.planeType default "", totalSeats: payload01.totalSeats default 0 } } ]]> </ee:set-payload> </ee:message> </ee:transform> </flow> -
Anypoint Code Builder で
interface.xml ファイルを開きます。 -
get:\flights:american-flights-api-config フローを見つけます。<flow name="get:\flights:american-flights-api-config"> <logger level="INFO" message="get:\flights:american-flights-api-config" /> </flow> -
フローの
<logger/> 要素の前に、実装のフロー getFlights を参照する Flow Reference コンポーネント (<flow-ref/>) を追加します。<flow name="get:\flights:american-flights-api-config"> <flow-ref doc:name="getFlightsRef" name="getFlights"/> <logger level="INFO" message="get:\flights:american-flights-api-config" /> </flow> -
省略可能: インターフェースを介してフローをトリガーし、実装を使用して要求を処理します。
詳細は、開発環境でのフローのトリガーを参照してください。