---
schema_version: "1"
id: 62b2b4997bc6b4c4c5eff93d8959f5e6b00d09cef47d21dbfb5dd7dfc7ac14be
title: American Flights API 仕様の実装
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/tut-af-implement-am-flights-api.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f86bf82868a594fcfb87c915420918b9193536bc81062c6fcdbf48653117a71c
description: MuleSoft Documentation Site
latest: true
---
# American Flights API 仕様の実装

**進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。

Anypoint Exchange から American Flights API 仕様をインポートします。開発している American Flights プロジェクトに仕様をスキャフォールディングして、API にエンドポイントを実装するロジックを追加します。

## [](#始める前に)始める前に

次の手順を実行します。

1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api)
2. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights)

## [](#american-flights-api-仕様をインポートしてスキャフォールディングする)American Flights API 仕様をインポートしてスキャフォールディングする

Anypoint Exchange から American Flights API 仕様をインポートして American Flights インテグレーションプロジェクトのインターフェースにスキャフォールディングします。

1. Anypoint Code Builder でインテグレーション (​`american-ws-anypoint-code-builder`​) を開きます。
    
    このアプリケーションについての詳細は、[American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights)を参照してください。
2. コマンドパレットを開きます。
    
    手順を表示
    
    - キーボードショートカットを使用する。
        
        - Mac: Cmd+Shift+p
        - Windows: Ctrl+Shift+p
    - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。
    - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。
3. 次のコマンドを入力します。
    
    ```command
    MuleSoft: Import Asset from Exchange
    ```
4. **\[Rest API\]**​ を選択します。
    
    ![\[MuleSoft: Import Asset from Exchange (MuleSoft: Exchange からアセットをインポート)\] を選択した後の強調表示された \[Rest API\] オプション](_images/rest-api-asset-type.png)
5. Anypoint Platform にログインするように促されたら、ログインし、拡張機能で外部 Web サイトにサインインして開くことおよび Visual Studio Code を開くことを許可します。
6. American Flights API 仕様の名前を入力します。次に例を示します。
    
    ```spec
    American Flights API
    ```
    
    この仕様についての詳細は、[American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api)を参照してください。
7. 名前に一致するアセットのリストが IDE に読み込まれるまで待機します。
    
    ![強調表示されている American Flights API アセット](/mulesoft/current/ja-jp/anypoint-code-builder/_images/select-api-asset-from-exchange.png)
8. バージョンを要求されたら、インポートする API のバージョン (​`_1.0.0_`​ など) を選択します。
9. API 連動関係をスキャフォールディングするように促されたら、​**\[Yes (はい)\]**​ を選択します。
    
    このステップでは、プロジェクトの ​`pom.xml`​ ファイルに API 仕様を連動関係として追加し、新しい設定 XML ファイル (​`american-flights-api.xml`​ など) を作成します。
    
    ![\[Package Explorer\] セクション内で強調表示されている American-flights.xml ファイル](_images/scafolded-mule-config-file.png)
10. [インターフェースファイルを調べる](#tour-canvas)​に進みます。

## [](#tour-canvas)インターフェースファイルを調べる

キャンバスと設定 XML でインターフェースのスキャフォールディング済みフローとエラーハンドラーを調べます。

![メインフローが強調表示されている](/mulesoft/current/ja-jp/anypoint-code-builder/_images/scafolded-flow-canvas.png)

1. **\[EXPLORER\]**​ メニューから、目的のインターフェースの設定ファイル (​`american-flight-api.xml`​ など) を開きます。
2. **\[Flow List (フローリスト)\]**​ パネルを使用して、フロー間を移動します。
    
    ![強調表示されている American-flights-api-main フロー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/outline-list-select-flow.png)
    
    1. **\[Flow List (フローリスト)\]**​ パネルを展開します。
    2. リストからフローを選択します。
    3. キャンバスでフローをクリックすると、設定 XML 内のフローが強調表示されます。
3. 設定 XML で、API 仕様のエンドポイント用に作成したフローを見つけます。
    
    - `get:\flights`
        
        ```xml
        <flow name="get:\flights:american-flight-api-config">
        </flow>
        ```
    - `post:\flights`
        
        ```xml
        <flow name="post:\flights:application\json:american-flight-api-config">
        </flow>
        ```
    - `get:\flights{ID}`
        
        ```xml
        <flow name="get:\flights\(ID):application\json:american-flight-api-config">
        </flow>
        ```
4. 自動的に生成されたエラーハンドラーコンポーネントを確認します。次に例を示します。
    
    ```xml
    <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>
    ```
5. [インターフェースおよび実装ファイルに名前を付ける](#rename)​に進みます。

## [](#rename)インターフェースおよび実装ファイルに名前を付ける

American Flights プロジェクトのインターフェースおよび実装ファイルにわかりやすい名前を付けます。インターフェースでアプリケーションへのすべての受信要求を受け取ります。インターフェースのスキャフォールディング済みフローで要求を検証してルーティングします。実装でインターフェースへのコールのためのバックエンドロジックを提供します。

![american-flight-api-acb.xml ファイルのコンテキストメニュー内で強調表示されている \[Rename (名前変更)\] オプション](_images/api-interface-rename.png)

1. ファイル名を右クリックし、​**\[Rename (名前変更)\]**​ を選択して、新しい名前を指定することで、​`american-flight-api-acb.xml`​ を ​`interface.xml`​ に名前変更します。
2. `american-ws-anypoint-code-builder.xml`​ を ​`implementation.xml`​ に名前変更します。
3. [インターフェースを介してエンドポイントを設定](#endpoint)​に進みます。

## [](#endpoint)インターフェースを介してエンドポイントを設定

インターフェースを介して HTTP 要求を受信するには、HTTP リスナーを ​`implementation.xml`​ から削除し、インターフェースファイル (​`interface.xml`​) で Flow Ref コンポーネント (​`<flow-ref/>`​) を実装の ​`getFlights`​ フローに追加します。

1. `implementation.xml`​ を開きます。
    
    ![implementation.xml ファイル内で強調表示されている HTTP リスナー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/get-flights-select-listener.png)
2. 設定 XML から ​**HTTP /flights**​ リスナー XML を削除します。
    
    ```xml
    <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" />
    ```
    
    結果のフローを表示するには、クリックしてください。
    
    ```xml
    <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>
    ```
3. Anypoint Code Builder で ​`interface.xml`​ ファイルを開きます。
4. `get:\flights:american-flights-api-config`​ フローを見つけます。
    
    ```xml
    <flow name="get:\flights:american-flights-api-config">
        <logger level="INFO" message="get:\flights:american-flights-api-config" />
    </flow>
    ```
5. フローの ​`<logger/>`​ 要素の前に、実装のフロー ​`getFlights`​ を参照する Flow Reference コンポーネント (​`<flow-ref/>`​) を追加します。
    
    ```xml
    <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>
    ```
6. 省略可能: インターフェースを介してフローをトリガーし、実装を使用して要求を処理します。
    
    詳細は、[開発環境でのフローのトリガー](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows)を参照してください。
7. [American Flights アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-debug-am-flights)に進みます。