---
schema_version: "1"
id: a6192db3ed0901a3007a0b1a2fcc2ac5c4155e19cd637741bc6516de4b81ad23
title: API 仕様からのアプリケーションのビルド
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.6/build-application-from-api.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.6/build-application-from-api
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 0697077d3d97002f5112d0e4a8cc373da8c338bdc5c72d82ba63751a4820881d
description: MuleSoft Documentation Site
release: "4.6"
latest: false
---
# API 仕様からのアプリケーションのビルド

アプリケーション開発ライフサイクル中に APIkit を使用して API 仕様から Mule REST API または SOAP API をビルドできます。 次のモデリング言語に基づいて API を開発します。

- RAML (RESTful API Modeling Language)
- WSDL (Web Service Description Language)
- OData (APIkit OData 拡張を使用した OData 対応 API)
- OAS (Open API 仕様)

Anypoint Studio で APIkit を使用し、RAML または WSDL 仕様ファイルのインポートに基づいて Mule フローの作成を自動化することで、API の設計と実装を簡略化できます。API を生成したら、API をテストするコールを実行した後、実装を最終処理できます。  

また、APIkit は、Apache Maven を使用してアプリケーションをビルドするのに役立つほか、既存のアプリケーション用のフローを生成するための CLI ツールも提供します。ただし、このいずれかのタスクを実行する前に、APIkit の基本構造を学習し、APIkit プロジェクトを開始するときに Mule フローを生成するスキャフォールディング手法を理解する必要があります。

## [](#apikit-の構造)APIkit の構造

APIkit を使用する REST または SOAP Studio プロジェクトには、次の部分があります。

- REST または SOAP インターフェース
- メインフロー
- バックエンドフロー

![REST Studio プロジェクト](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-rest-studio-project.png)

Figure 1. REST Studio プロジェクト。

![SOAP Studio プロジェクト](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-soap-studio-project.png)

Figure 2. SOAP Studio プロジェクト。

### [](#rest-インターフェース)REST インターフェース

REST リソースとアクション間のリレーションは、​_リソースとアクション_​のペアリングと呼ばれます。このインターフェースは、REST サービスにより要求された内部データアセットを公開します。また、このインターフェースは API を定義し (データを含むまたはデータにアクセスするリソースを指定します)、外部データに対するアクション (GET、PUT など) を指定します。

### [](#soap-インターフェース)SOAP インターフェース

WSDL ファイルで定義されたインターフェースでは、多くのサービスが公開されます。各サービスには一連の操作が含まれます。基盤となるデータ種別は、WSDL ファイル内のスキーマまたはインポートされた XSD ファイルで定義された XML です。

### [](#メインフロー)メインフロー

API のメインフローでは、次の機能が管理されます。

- HTTP 用 Anypoint Connector (HTTP Connector) を使用して API を公開する。
- HTTP 要求に基づいてインターフェースとバックエンドフロー間で要求を転送する。
- 要求を受け入れて、応答を送信し、インターフェースと API プロセス間の通信を促進する。

メインフローは HTTP Listener コンポーネントと APIkit (REST または SOAP) Router コンポーネントで構成されます。APIkit Router は、提供された定義に対して要求を検証し、メッセージを強化し (メッセージにデフォルト値を追加するなど)、要求をフローに転送する主要なメッセージプロセッサーです。また、ユーザー要求の転送中、検証中、または処理中にエラーが発生した場合、ルーターはエラーメッセージを出力します。

![REST API メインフロー](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-rest-main-flow.png)

Figure 3. REST API メインフロー。

![SOAP API メインフロー](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-soap-main-flow.png)

Figure 4. SOAP API メインフロー。

### [](#バックエンドフロー)バックエンドフロー

REST 用の APIkit は、RAML ファイル内のリソースとアクションのペアリングごとにバックエンドフローを生成します。  
SOAP 用の APIkit は、WSDL 内の操作ごとにバックエンドフローを生成します。  
次の例では、RAML インターフェースは GET 要求のユーザーを受け取ります。バックエンドフローはデータベースにアクセスし、ID でユーザーを参照します。

![REST API バックエンドフロー](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-rest-backend-flows.png)

Figure 5. REST API バックエンドフロー。

### [](#コールの実行)コールの実行

REST API の場合、API Console を使用して API へのコールを実行します。  
SOAP API の場合、SoapUI などの SOAP テストツールを使用して、API へのコールを実行します。

## [](#apikit-プロジェクトを開始して-mule-フローを作成)APIkit プロジェクトを開始して Mule フローを作成

Studio で新しい APIkit プロジェクトを開始するときに、API 定義ファイルをインポートするオプションがあります。ファイルをインポートすると、APIkit スキャフォールディングメカニズムによって API のさまざまなフローが生成されます。Anypoint Studio で APIkit プロジェクトを開始する方法は 3 つあります。

### [](#api-定義ファイルを使用して新しい-apikit-プロジェクトを開始)API 定義ファイルを使用して新しい APIkit プロジェクトを開始

既存の RAML または WSDL ファイルをインポートするか、ファイルの URL を参照してプロジェクトを開始する場合、次の方法を使用します。

1. **\[File (ファイル)\] > \[New (新規)\] > \[Mule Project (Mule プロジェクト)\]**​ を選択します。
2. **\[Project Name (プロジェクト名)\]**​ に、プロジェクトの名前 (​**「myproject」**​など) を入力します。
3. デフォルトの EE ランタイム (​**Mule Server 4.2.0 EE**​ など) を選択するか受け入れます。
4. **\[API Implementation (API 実装)\]**​ で、​**\[Specify API Definition File Location or URL (API 定義ファイルの場所または URL を指定)\]**​ を選択します。
5. **\[Location (場所)\]**​ で、次のいずれかを実行します。
    
    - Design Center で ​`api.raml`​ ファイルを作成している場合は、​**\[Design Center\]**​ を選択します。必要に応じて Anypoint Platform にログインし、​`api.raml`​ を選択します。
    - Design Center で RAML ファイルを作成していない場合は、​**\[Browse Files (ファイルを参照)\]**​ を選択し、テキストエディターで作成した RAML または WSDL ファイルを選択します。WSDL ファイルの場合、ドロップダウンメニューからサービスとポートを選択するか、デフォルトを受け入れます。

1. \[Location (場所)\] のデフォルトオプションを受け入れて、​**\[Finish (完了)\]**​ をクリックします。

![API 仕様が選択された \[New Mule Project (新規 Mule プロジェクト)\] ウィンドウ](_images/mruntime-start-apikit-project-1.png)

Figure 6. API 仕様を選択している \[New Mule Project (新規 Mule プロジェクト)\] ウィンドウ。

この方法を使用すると、APIkit スキャフォールディング手法によって以下が生成されます。

- 基本設定ファイルおよび Mule XML 設定ファイルを含むアーキタイプ
- API の実装

RAML ベースの API の場合、RAML ファイルは ​`src/main/resources/api`​ フォルダーの下に表示されます。API の実装には以下が含まれます。

- HTTP Listener を含むメインフロー
- APIkit Router コンポーネント
- エラーハンドラー
- RAML の連動関係 (Studio などの特定の場所から Design Center などの別の場所に変更をプッシュまたはプルします)
- REST のリソースとアクションのマッピングを含むバックエンドフロー

WSDL ベースの API の場合、WSDL ファイルは ​`src/main/resources/api`​ フォルダーの下に表示されます。API の実装には以下が含まれます。

- SOAP Router
- SOAP エラー応答テンプレート
- SOAP メッセージテンプレートを含むバックエンドフロー

次の図は APIkit スキャフォールディングを示しています。

![RAML スキャフォールディング](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-raml-scaffolding.png)

Figure 7. RAML スキャフォールディング。

![WSDL スキャフォールディング](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-wsdl-scaffolding.png)

Figure 8. WSDL スキャフォールディング。

Studio では、REST API APIkit プロジェクトは次のようになります。

![Package Explorer とキャンバスセクションを含む REST API Anypoint Studio UI。](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-rest-api-studio-apikit.png)

Figure 9. Package Explorer とキャンバスセクションを含む Anypoint Studio UI 内の REST API。

この図で示されている 5 つの項目は次を示しています。

1. Studio の Package Explorer に含まれるプロジェクトファイル。​`api.raml`​ ファイルは ​`src/main/resources/api`​ フォルダーの下にあります。
2. APIkit Router を含むメインフロー。
3. APIkit Console
4. エラー処理
5. リソースメソッドごとに生成されたフロー。  
    生成された最小限のフローは、REST 契約で要求されるコミュニケーション操作を満たします。

Studio では、SOAP API APIkit プロジェクトは次のようになります。

![Package Explorer とキャンバスセクションを含む SOAP API Anypoint Studio UI。](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-soap-api-studio-apikit.png)

Figure 10. Package Explorer とキャンバスセクションを含む Anypoint Studio UI 内の SOAP API。

この図で示されている 4 つの項目は次を示しています。

1. Studio の Package Explorer に含まれるプロジェクトファイル。​`example.wsdl`​ ファイルは ​`src/main/resources/api`​ フォルダーの下にあります。
2. SOAP Router を含むメインフロー。
3. SOAP エラー応答テンプレート
4. SOAP メッセージテンプレートを含む、生成されたバックエンドフロー。

APIkit プロジェクトを作成したら、API をテストするコールを実行し、実装を最終処理することで、アプリケーションのビルドを続行することができます。詳細は、​[\[Build Applications Workflows\]](<#Build Applications Workflows>)​を参照してください。

### [](#新しい-apikit-プロジェクトを開始)新しい APIkit プロジェクトを開始

API 仕様ファイルなしで APIkit プロジェクトを開始し、後で API 仕様ファイルをプロジェクトに追加できる場合、この方法を使用します。APIkit は骨格 RAML ファイルと XML 設定ファイルを生成します。

1. **\[File (ファイル)\] > \[New (新規)\] > \[Mule Project (Mule プロジェクト)\]**​ を選択します。
2. **\[Project Name (プロジェクト名)\]**​ に、プロジェクトの名前 (​**「myproject」**​など) を入力します。
3. デフォルトの EE。ランタイム (​**Mule Server 4.2.0 EE**​ など) を選択するか受け入れます。
4. **\[API Implementation (API 実装)\]**​ で、​**\[Specify API Definition File Location or URL (API 定義ファイルの場所または URL を指定)\]**​ を選択​_しない_​でください。  
    これにより、バックエンドファーストの APIkit 設計が作成されます。
5. その他のデフォルトのオプションを受け入れて ​**\[Finish (完了)\]**​ をクリックします。

![API 仕様のない \[New Mule Project (新規 Mule プロジェクト)\] ウィンドウ](_images/mruntime-start-apikit-project-2.png)

Figure 11. \[New Mule Project (新規 Mule プロジェクト)\] ウィンドウ。

この方法を使用すると、APIkit スキャフォールディングによって、次のコンポーネントを含む骨格 RAML ファイルおよび XML 設定ファイルが生成されます。

- メインフロー ​`<flow name="main-api"></flow>`
- メインフローの HTTP Listener 設定
- APIkit Router コンポーネント
- エラーハンドラー

後で API 仕様をバックエンドファーストの APIkit 設計に追加し、バックエンドフローを生成して、アプリケーションのビルドを続行できます。詳細は、​[\[Build Applications Workflows\]](<#Build Applications Workflows>)​を参照してください。

### [](#バックエンドフローを生成して新規-apikit-プロジェクトを開始)バックエンドフローを生成して新規 APIkit プロジェクトを開始

このタスクを実行するには、次の前提条件を満たしている必要があります。

- Studio (RAML エディター) で RAML ファイルを作成した
- HTTP Listener および APIkit Router コンポーネントを含むメインフローを作成した

Studio で RAML ファイルを作成するときに、バックエンドフローの生成は省略可能です。RAML ベースの API ではエラー処理が自動的に生成されます。APIkit プロジェクトを開始するには、バックエンドフローをメインフローから生成する必要があります。次の手順に従います。

1. Package Explorer で、プロジェクト名を右クリックします。
2. **\[Mule\] > \[Generate Flows From REST API (REST API からフローを生成)\]**​ を選択します。

![Mule プロジェクトからのバックエンドフローの生成](/mulesoft/current/ja-jp/mule-runtime/4.6/_images/mruntime-start-apikit-project-3.png)

Figure 12. Mule プロジェクトからのバックエンドフローの生成。

APIkit スキャフォールディング手法によってバックエンドフローがメインフローの後に生成されます。次に、API をテストするコールを実行し、実装を最終処理することで、アプリケーションのビルドを続行することができます。詳細は、​[\[Build Applications Workflows\]](<#Build Applications Workflows>)​を参照してください。

## [](#アプリケーションワークフローのビルド)アプリケーションワークフローのビルド

APIkit の基本構造とスキャフォールディング手法を理解したら、次のワークフローを参考にして、APIkit プロジェクトの作成、Mule フローの生成、API へのコールの実行、および実装の最終処理を行って、目的のアプリケーションをビルドします。

- [REST 用の APIKit を使用した REST API のビルド](https://docs.mulesoft.com/jp/apikit/latest/apikit-4-for-rest)
- [SOAP 用の APIKit を使用した SOAP API のビルド](https://docs.mulesoft.com/jp/apikit/latest/apikit-4-for-soap)

さらに次のことができます。

- [既存の Mule プロジェクトの APIkit プロジェクトへの変換](https://docs.mulesoft.com/jp/apikit/latest/apikit-workflow-convert-existing)
    
    既存の APIkit バックエンドファーストの設計への API 仕様の追加、API 定義ファイルの定義、メインフローの作成、バックエンド REST API フローの生成、アクションへの RAML リソースのマップを行います。
- [APIkit 4.x タスクの実行](https://docs.mulesoft.com/jp/apikit/latest/key-configurations)
    
    APIkit プロジェクトの変更、API コンソールのカスタマイズ、ヘッダーの設定、RAML ファイルの取得、機能以外の要件の実行、ロードバランサーの設定を行います。
- [APIkit OData 拡張を使用した OData 対応 API の作成](https://docs.mulesoft.com/jp/apikit/latest/creating-an-odatav4-api-with-apikit)
    
    OData 要求を処理する Mule フローを生成します。
- [Maven を使用した APIkit プロジェクトの作成](https://docs.mulesoft.com/jp/apikit/latest/apikit-4-scaffolding-reference)
    
    既存の Apache Maven プロジェクトに APIkit コンポーネントを追加します。

## [](#api-からのデータのコンシューム)API からのデータのコンシューム

アプリケーションをビルドしたら、API からのデータのコンシュームを開始できます。ガイドラインについては、​[「API からのデータのコンシューム」のドキュメント](https://docs.mulesoft.com/jp/mule-runtime/4.6/consume-data-from-an-api)​を参照してください。

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

- [APIkit](https://docs.mulesoft.com/jp/apikit/latest/)
- [APIKit エラー処理](https://docs.mulesoft.com/jp/apikit/latest/apikit-error-handling-reference)