---
schema_version: "1"
id: f5323a7d072122e462f75d9d1fcfb756b3968b8483cc622320bfcd33ab3c70bb
title: API の反復的な設計および実装
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/imp-implement-local-apis.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 20b98c117169ab1aca8627f4227eb3b93b246d8932660ff412c88baa89fd83b2
description: MuleSoft Documentation Site
latest: true
---
# API の反復的な設計および実装

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

Anypoint Code Builder を使用すると、最初に API を Anypoint Exchange にパブリッシュすることなく、新しいインテグレーションプロジェクトに API 仕様をスキャフォールディングできます。 変更を行ったら、仕様を再スキャフォールディングすることでプロジェクトの変更を同期します。 たとえば、新しいエンドポイントを API 仕様に追加したら、再スキャフォールディングして、そのエンドポイントの新しいフローを設定 XML ファイルに追加します。

Anypoint Code Builder では、API 仕様から参照される場合、次のスキーマフラグメントファイルのスキャフォールディングがサポートされています。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 25%;">
<col style="width: 25%;">
<col style="width: 25%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top"></th>
<th class="tableblock halign-left valign-top">Avro</th>
<th class="tableblock halign-left valign-top">JSON</th>
<th class="tableblock halign-left valign-top">RAML</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>AsyncAPI</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>GraphQL</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>OData</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>REST</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>SOAP</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">いいえ</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">はい</p></td>
</tr>
</tbody>
</table>

サポートされていないフラグメントを追加した場合、スキャフォールダーは Exchange から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。

AsyncAPI 仕様では、現時点で反復的な設計と実装はサポートされていません。

API 仕様および関連する Mule プロジェクトを同期したら、API 仕様の変更と変更の実装を同時に行うことができます。

この方法を使用して API を実装すると、API 設計の変更が Mule プロジェクトのインターフェースに直接反映されます。 API の設計タスクと実装タスク間を反復することで、開発プロセスの時間を短縮します。

準備が整ったら、API 仕様を Exchange にパブリッシュして Mule プロジェクトをデプロイします。

API 仕様を新しいインテグレーションプロジェクトにスキャフォールディングしたら、Anypoint Code Builder により実装の設定 XML が作成されます。

## [](#マルチルートワークスペースに関する考慮事項)マルチルートワークスペースに関する考慮事項

API をスキャフォールディングすると、Anypoint Code Builder により、API 仕様とインテグレーションプロジェクトの両方を含む​_マルチルートワークスペース_​が VS Code に作成され、それらの同期が維持されます。

VS Code では、拡張子 ​`.code-workspace`​ を含むファイルを使用してマルチルートワークスペースを保存します。 このファイルは、API 仕様と実装プロジェクトのフォルダーをマップします。

<table><tbody><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content">プロジェクトを適切に動作させるには、​<code>.code-workspace</code>​ ファイルがどちらのプロジェクトフォルダーにも​<em>存在してはなりません</em>​。</td></tr></tbody></table>

また、Anypoint Code Builder では、反復的な設計フォルダーと実装プロジェクトフォルダーのペアがマルチルートワークスペースごとに 1 つのみ許可されます。

詳細は、VS Code ドキュメントの [「Multi-root Workspaces (マルチルートワークスペース)」](https://code.visualstudio.com/docs/editor/multi-root-workspaces)​を参照してください。

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

- [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。
- [API 仕様を作成してテスト](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​します。

## [](#scaffold-spec-into-project)API 仕様を新しい実装プロジェクトにスキャフォールディングする

現在の API 仕様を新しい実装プロジェクトにスキャフォールディングする方法は、次のとおりです。

1. アクティビティバーで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-implement-api.png)​ (​**\[Implement this local API (このローカル API を実装)\]**​) アイコンをクリックします。
    
    ![アクティビティバーの \[Implement this local API (このローカル API を実装)\] アイコン](_images/imp-local-api.png)
    
    または、コマンドパレットを使用します。
    
    手順を表示
    
    1. コマンドパレットを開きます
        
        - キーボードショートカットを使用する。
            
            - 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 (コマンドパレット)\]**​ を選択する。
    2. 次のコマンドを選択します。
        
        ```command
        MuleSoft: Implement this Local API
        ```
2. プロンプトで ​**\[OK\]**​ をクリックします。
    
    ![プロンプト: \*\[We’ll create a workspace to keep your API specification and Mule project in sync (API 仕様と Mule プロジェクトの同期を維持するためのワークスペースを作成します)\]\*](_images/imp-local-workspace-prompt.png)
    
    ワークスペースが作成されたら、Anypoint Code Builder で API 仕様が作成およびパッケージ化されてスナップショットとしてローカル Maven リポジトリにパブリッシュされます。
3. 新しいプロジェクトのディレクトリに移動して、​**\[Save (保存)\]**​ をクリックします。
    
    Anypoint Code Builder により、API 仕様と Mule プロジェクトを含むマルチルートワークスペースの作成が開始されます。
    
    マルチルートワークスペースでは、API 仕様フォルダーと Mule プロジェクトフォルダーの両方を同時に操作できます。
    
    <table>
<tbody><tr>
<td class="icon">
<i class="fa icon-important" title="Important"></i>
</td>
<td class="content">
<div class="paragraph">
<p>デフォルトの場所を受け入れないでください。</p>
</div>
<div class="paragraph">
<p>API 仕様フォルダー内​<em>ではなく</em>​、プロジェクトフォルダー外のディレクトリに ​<code>.code-workspace</code>​ ファイルを保存します。</p>
</div>
</td>
</tr>
</tbody></table>
4. 要求されたら、プロジェクト設定の詳細を指定します。
    
    1. Mule プロジェクトの名前を指定します。
    2. Mule プロジェクトのフォルダーに移動して、​**\[Select target folder (対象フォルダーを選択)\]**​ をクリックします。
    3. プロジェクトの Mule Runtime バージョンを選択します。
    4. プロジェクトの Java バージョンを選択します。
        
        Anypoint Code Builder では、ローカル API 仕様を新しい Mule プロジェクトにスキャフォールディングし、完了したらメッセージを表示します。
        
        ![スキャフォールディングプロセスの終了メッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-local-api-scaffolded.png)
        
        API 仕様と Mule プロジェクトの両方が IDE で開きます。次に例を示します。
        
        ![\[Explorer\] ビューでの API 仕様と実装プロジェクト](_images/imp-local-api-workspace.png)
        
        <table><tbody><tr><td><i class="conum" data-value="1"></i><b>1</b></td><td>API 仕様</td></tr><tr><td><i class="conum" data-value="2"></i><b>2</b></td><td>実装プロジェクト</td></tr></tbody></table>
5. \[Explorer\] ビューで、目的のインターフェースの設定 XML ファイルを開きます。
6. キャンバス UI が自動的に開かない場合は、アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-tree-view.png)​ (​**Show canvas UI (キャンバス UI を表示)**​) アイコンをクリックしてキャンバスを開きます。
    
    新しい Mule プロジェクトには、各エンドポイントのフロー、XML ベースの組み込みルーター、エラーハンドラーが含まれており、それらをその後 Mule アプリケーション内に実装します。
    
    \[Explorer\] ビューで仕様と実装プロジェクトを切り替えることができます。

マルチルートワークスペースを閉じるには、​[マルチルートワークスペースを閉じる](#close-workspace)​を参照してください。

## [](#rescaffold-api-spec)API を再スキャフォールディングする

新しいエンドポイントを追加するなど、API 仕様を変更したら、仕様を再スキャフォールディングして Mule プロジェクトを更新します。

1. \[Explorer\] ビューで、API 仕様ファイルに移動します。
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: Re-scaffold this local API
    ```
    
    プロジェクトが正常に再スキャフォールディングされたことを示すメッセージが表示されたら、実装 XML ファイルに移動して、新しいフローが追加されたことを確認します。

## [](#close-workspace)マルチルートワークスペースを閉じる

ワークスペースを閉じる手順は、次のとおりです。

1. コマンドパレットを開きます。
    
    手順を表示
    
    - キーボードショートカットを使用する。
        
        - 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 (コマンドパレット)\]**​ を選択する。
2. 次のコマンドを選択します。
    
    ```command
    Workspaces: Close Workspace
    ```

閉じた後、同期されたプロジェクトを、API の実装時に作成したワークスペースから再度開くことができます。 [マルチルートワークスペースを開く](#open-workspace)​を参照してください。

## [](#open-workspace)マルチルートワークスペースを開く

`.code-workspace`​ ファイルからマルチルートワークスペースを開く手順は、次のとおりです。

1. コマンドパレットを開きます。
    
    手順を表示
    
    - キーボードショートカットを使用する。
        
        - 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 (コマンドパレット)\]**​ を選択する。
2. 次のコマンドを選択します。
    
    ```command
    File: Open Workspace from File...
    ```
3. ホームディレクトリに移動して、ワークスペースの ​`.code-workspace`​ ファイルをダブルクリックします。
    
    \[Explorer\] ビューでプロジェクトが開きます。マルチルートワークスペースのフォルダー名には ​**(WORKSPACE)**​ が含まれています。次に例を示します。
    
    ![\[Explorer\] ビューでのマルチルートワークスペース](_images/imp-local-api-open-workspace.png)

## [](#関連情報)関連情報

- [API 仕様の反復的な設計と実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-local-api-specification)チュートリアル