Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Exchange から 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
など) を作成します。
インターフェースファイルを調べるに進みます。
キャンバス UI と設定 XML でインターフェースのスキャフォールディング済みフローとエラーハンドラーを調べます。
[EXPLORER] メニューから、目的のインターフェースの設定ファイル (american-flight-api.xml
など) を開きます。
[Flow List (フローリスト)] パネルを使用して、フロー間を移動します。
[Flow List (フローリスト)] パネルを展開します。
リストからフローを選択します。
キャンバス UI でフローをクリックすると、設定 XML 内のフローが強調表示されます。
設定 XML で、API 仕様のエンドポイント用に作成したフローを見つけます。
get:\flights
<flow name="get:\flights:american-flight-api-config">
</flow>
post:\flight
<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>
省略可能: インターフェースを介してフローをトリガーし、実装を使用して要求を処理します。
詳細は、開発環境でのフローのトリガーを参照してください。