---
schema_version: "1"
id: 9c664405ebdaf06b860bed6f146d5c0c0884ba47323543790b684b422261902f
title: API 仕様フラグメントの作成および使用
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/des-create-api-fragments.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments
source_site: docs.mulesoft.com
content_type: documentation
content_hash: dc18400bbe12e8912cf2f27260dc1b774348203d1a3032803b23e0d2151be482
description: MuleSoft Documentation Site
latest: true
---
# API 仕様フラグメントの作成および使用

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

Anypoint Code Builder を使用すると、独自の API フラグメントを作成したり、Anypoint Exchange にパブリッシュして他のユーザーと共有したり、フラグメントを Exchange から API 仕様に追加したり、プロジェクト内にフラグメントを作成して API 仕様に直接追加したりできます。 または、Exchange にパブリッシュせずに、プロジェクトにフラグメントを直接作成して追加することもできます。

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 から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。

フラグメントを Exchange から追加するプロセスは次のとおりです。

1. API 仕様プロジェクトに連動関係として ​[API フラグメントを Exchange から追加します](#add-fragment-to-project)​。
2. `$ref`​ (OAS および AsyncAPI) または ​`!include`​ (RAML) ディレクティブを使用して、​[API フラグメントを API 仕様に追加します](#add-fragments-to-spec)​。

Exchange にパブリッシュせずにフラグメントを追加するプロセスは次のとおりです。

- Exchange にパブリッシュせずに、​[プロジェクトにフラグメントを直接作成して追加します](#create-add-fragment-directly)​。

次の例を使用して Anypoint Code Builder の機能を調べます。

- [`example-oas-fragment`](#example-oas-api-frag)​ API 仕様フラグメント
- [`example-oas-api-spec`](#example-oas-api-spec)​ API 仕様
- [`example-asyncapi-avro-fragment`](#example-avro-api-frag)​ AsyncAPI 仕様 Avro スキーマフラグメント
- [`example-asyncapi-spec`](#example-asyncapi-spec)​ AsyncAPI 仕様
- [`example-asyncapi-spec-inline-avro`](#example-asyncapi-spec-inline-avro)​ AsyncAPI 仕様 (インライン Avro)

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

フラグメントを追加する前に:

- [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。
- API 仕様の設計の基礎を理解します。
    
    詳細は、[チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials)を参照してください。
- [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。
    
    API フラグメントを Anypoint Code Builder から Exchange に追加すると、IDE によりビジネスグループの名前が要求されます。[ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)を参照してください。

## [](#api-フラグメントを作成して-exchange-にパブリッシュする)API フラグメントを作成して Exchange にパブリッシュする

API 仕様フラグメントを作成およびパブリッシュするプロセスは、API 仕様のプロセスと似ています。

API 仕様フラグメントを作成する手順は、次のとおりです。

1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。
    
    ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png)
2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Design an API (API を設計)\]**​ をクリックします。
    
    ![\*\[Quick Actions (クイックアクション)\]\* セクション内の強調表示された \*\[Design an API (API を設計)\]\* リンク](_images/design-api-1.png)
3. **\[Design an API (API の設計)\]**​ で、​**\[API Fragment (API フラグメント)\]**​ タブをクリックします。
    
    !["\[Design an API (API の設計)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-fragment.png) ページの \[API Fragment (API フラグメント)\] タブ"\]
    
    必ず ​**\[API Fragment (API フラグメント)\]**​ タブを選択してください。
4. **\[API Fragment (API フラグメント)\]**​ フォームに入力します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 75%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目名</th>
<th class="tableblock halign-left valign-top">項目値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><strong>Project Name (プロジェクト名)</strong></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>フラグメントの一意の名前。</p>
</div>
<div class="paragraph">
<p>この名前は、Exchange のフラグメントタイトルおよびフラグメントファイルの名前として使用されます。
たとえば、プロジェクト名が​<em>「Example OAS Fragment」</em>​ (サンプル OAS フラグメント) の場合、仕様ファイル名は ​<code>example-oas-fragment</code>​ です。</p>
</div>
<div class="paragraph">
<p>既存のプロジェクト名を再利用するには、その名前をすでに使用しているプロジェクトを最初に削除する必要があります。<a href="https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects" class="xref page">API 仕様とフラグメントの削除</a>を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><strong>Project Location (プロジェクトの場所)</strong></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ホームディレクトリまたは作成する別のディレクトリ。</p>
</div>
<div class="paragraph">
<p><a href="https://docs.mulesoft.com/jp/anypoint-code-builder/start-add-folders" class="xref page">ホームディレクトリへのフォルダーの追加</a>を参照してください。</p>
</div>
<div class="paragraph">
<p>別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><strong>API Specification Language (API 仕様言語)</strong></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="https://docs.mulesoft.com/jp/anypoint-code-builder/des-designing-api-specs#supported-fragment-languages" class="xref page">「API フラグメントでサポートされる仕様言語」</a>​を参照してください。</p>
</div>
<div class="paragraph">
<p>この手順で​<a href="#example-oas-api-frag">サンプル</a>​を使用するには、​<strong>[OAS 3.0 (YAML)]</strong>​ を選択します。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><strong>&lt;Language&gt; Syntax (&lt;Language&gt; 構文)</strong></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>選択した言語の構文。</p>
</div>
<div class="paragraph">
<p>この手順で​<a href="#example-oas-api-frag">サンプル</a>​を使用するには、​<strong>[YAML]</strong>​ を選択します。</p>
</div></div></td>
</tr>
</tbody>
</table>
5. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。
    
    確認を促されたら、フォルダー内のファイルの作成者を信頼します。
    
    プロジェクトを編集する準備ができたら、API フラグメントプロジェクトがエクスプローラービューで開きます。 たとえば、この OAS 3.0 (YAML) API フラグメントは次のようになります。
    
    !["\[Design an API (API の設計)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-fragment-new.png) ページの \[API Fragment (API フラグメント)\] タブ"\]
6. API フラグメントの設計を続けます。
    
    要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete)​ (または Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。
    
    OAS 3.0 (YAML) フラグメントプロジェクトを作成した場合は、最初の API フラグメントを​[サンプル](#example-oas-api-frag)​コードに置き換えて、仕様へのフラグメントの追加をテストできます。
7. [フラグメントを Exchange にパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)​します。
    
    ステータスバーに進行状況が表示されます。 完了すると、API フラグメントが Exchange に正常にパブリッシュされたことを示すメッセージが表示されます。
8. Anypoint Platform に移動し、ログイン情報を使用してログインします。
    
    手順を表示
    
    - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/)
    - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/)
9. Anypoint Exchange に移動します。
    
    手順を表示
    
    - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/)
    - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/)
    
    API 仕様は、組織内で API 仕様フラグメントタイプのアセットとして表示されます。次に例を示します。
    
    ![Exchange の API 仕様フラグメント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-exchange.png)
    
    API 仕様が API 仕様フラグメントではなく REST API として Exchange に表示される場合は、IDE のプロジェクトフォルダーにある ​`exchange.json`​ ファイルの ​`classifier`​ 属性が言語に応じて次のいずれかに設定されていることを確認します。
    
    - OAS: `oas-components`
    - RAML: `raml-fragment`
    - JSON スキーマ: `json-schema`
    
    属性が次のいずれかに設定されている場合、プロジェクトはフラグメントではなく API 仕様になります。
    
    - OAS: `oas`
    - RAML: `raml`

## [](#add-fragment-to-project)フラグメントを Exchange からプロジェクトに追加する

API 仕様フラグメントを Exchange からプロジェクトディレクトリに追加して、そのフラグメントを仕様に含めることができるようにする手順は、次のとおりです。

1. API 仕様プロジェクトファイル (​[`example-oas-spec`](#example-oas-api-spec)​ など) を開きます。
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. `mulesoft`​ と入力し、次のコマンドを選択します。
    
    ```command
    MuleSoft: Add Fragment dependency from Exchange
    ```
4. Anypoint Platform にログインするように促されたら、ログインします。
5. **\[Search for Asset (アセットの検索)\]**​ 項目に、追加するデータ型アセットの名前を入力します。
    
    アセットを検索するには、検索語を入力して Enter キーを押します。次に例を示します。
    
    ![Exchange ドロップダウンからアセットのフラグメントを検索](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-add-frag-from-exchange.png)
6. **\[Assets From Exchange (Exchange からのアセット)\]**​ メニューからフラグメントを選択します。
7. フラグメントのバージョンを選択します。
    
    ステータスバーに進行状況が表示されます。完了すると、選択した API フラグメントがプロジェクトに正常に追加されたことを示すメッセージが表示されます。
8. `exchange.json`​ ファイルの ​`dependencies`​ セクションをチェックして、フラグメントの連動関係が追加されたことを確認します。次に例を示します。
    
    ![exchange.json ファイル内のフラグメントの連動関係を確認](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-verify-frag-from-exchange.png)
    
    また、エクスプローラービューの \[Project Dependencies (プロジェクトの連動関係)\] の下でフラグメントを確認することもできます。次に例を示します。
    
    ![エクスプローラービューの API フラグメント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-dependencies.png)
    
    フラグメントファイルは、システムのホームディレクトリの ​`.exchange_modules`​ ディレクトリにあります (例: `~/.exchange_modules`​ (Mac))。

## [](#add-fragments-to-spec)API 仕様に API フラグメントを追加する

仕様に API 仕様フラグメントを追加する手順は、次のとおりです。

1. API 仕様プロジェクトファイル (​[`example-oas-spec`](#example-oas-api-spec)​ など) を開きます。
2. フラグメントを追加する場所にカーソルを置きます。
3. API 仕様言語に応じて、ディレクティブを選択してフラグメントを仕様に追加します。
    
    - OAS および AsyncAPI 仕様: `$ref`​ ディレクティブを使用します。
    - RAML 仕様: `!include`​ ディレクティブを使用します。
    
    - OAS の例
    - RAML の例
    - AsyncAPI の例
    
    この ​`$ref`​ ディレクティブは、​`example-oas-fragment`​ の ​`AmericanFlightDataType`​ をデータ型として追加します。
    
    ```YAML
    schema:
      $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/example-oas-fragment/1.0.0/example-oas-fragment.yaml#/components/schemas/AmericanFlightDataType
    ```
    
    この ​`!include`​ ディレクティブは、​`AmericanFlightDataType.raml`​ の ​`AmericanFlight`​ オブジェクトをデータ型として追加します。
    
    ```RAML
    types:
      AmericanFlight: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flight-data-type/1.0.1/AmericanFlightDataType.raml
    ```
    
    この ​`$ref`​ ディレクティブは、​`example-asyncapi-fragment`​ の ​`AmericanFlightDataType`​ をデータ型として追加します。
    
    ```YAML
    payload:
      $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/example-asyncapi-fragment/1.0.0/example-asyncapi-fragment.json#/components/schemas/AmericanFlightDataType
    ```
4. [オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete)​ (または Ctrl+Space) を使用して、各コンテキスト内で使用可能なオプションを表示します。次に例を示します。
    
    ![API 仕様にフラグメントを追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-add-frag-to-spec.png)
5. フラグメントファイルで定義されたコンポーネント内の要素を参照する手順は、次のとおりです。
    
    1. フラグメントファイル名を選択します。
    2. 「​`#/`​」と入力します。
    3. Ctrl+Space を押します。
    4. オプションから要素を選択します。次に例を示します。
        
        ![フラグメント内の要素を参照](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-ref-element.png)

フラグメントを仕様に追加すると、次の操作を実行できます。

- 連動関係に移動する。
    
    フラグメント参照にカーソルを置き、Command キーを押しながらクリックします。 次に例を示します。
    
    ![フラグメント連動関係に移動](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-goto-dependencies.png)
- API Console で連動関係を表示する。
    
    フラグメント参照にカーソルを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックして、コンソールでフラグメントを開きます。
    
    詳細は、​[「API Console で仕様を確認」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#review-spec-console)​を参照してください。

## [](#create-add-fragment-directly)仕様内にフラグメントを直接作成して追加する

プロジェクト内にフラグメントを作成して仕様に含める手順は、次のとおりです。

1. API 仕様プロジェクトファイル (​[`example-oas-spec`](#example-oas-api-spec)​ など) を開きます。
2. エクスプローラービューで、空のスペースを右クリックし、​`fragments`​ などのフラグメント用のフォルダーを作成します。
3. `fragments`​ フォルダーで、​`my-fragment`​ などの新しいファイルを作成し、フラグメントコードを追加します。
4. フラグメントを追加する場所にカーソルを置きます。
5. API 仕様言語に応じて、フォルダーからフラグメントを仕様に追加するディレクティブを選択します。
    
    - OAS および AsyncAPI 仕様: `$ref`​ ディレクティブを使用します。
    - RAML 仕様: `!include`​ ディレクティブを使用します。
    
    - OAS の例
    - RAML の例
    - AsyncAPI の例
    
    この ​`$ref`​ ディレクティブは、​`my-fragment.yaml`​ ファイルから ​`api_key`​ オブジェクトを追加します。
    
    ```YAML
    api-key:
        $ref: fragments/my-fragment.yaml#/components/securitySchemes/api_key
    ```
    
    この ​`!include`​ ディレクティブは、​`AmericanFlightsExample.raml`​ サンプルを追加します。
    
    ```RAML
    examples:
      output: !include examples/AmericanFlightExample.raml
    ```
    
    この ​`$ref`​ ディレクティブは、​`fragments/my-fragment`​ サンプルを追加します。
    
    ```YAML
    payload:
        $ref: fragments/my-fragment
    ```
6. [オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete)​ (または Ctrl+Space) を使用して、各コンテキスト内で使用可能なオプションを表示します。次に例を示します。
    
    ![フラグメントをフォルダーから API に追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-add-frag-from-folder-to-spec.png)
7. フラグメントファイルで定義されたコンポーネント内の要素を参照する手順は、次のとおりです。
    
    1. フラグメントファイル名を選択します。
    2. 「​`#/`​」と入力します。
    3. Ctrl+Space を押します。
    4. オプションから要素を選択します。次に例を示します。
        
        ![フラグメント内の要素を参照](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-ref-element.png)

フラグメントを仕様に追加すると、次の操作を実行できます。

- 連動関係に移動する。
    
    フラグメント参照にカーソルを置き、Command キーを押しながらクリックします。 次に例を示します。
    
    ![フラグメント連動関係に移動](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-goto-dependencies.png)
- API Console で連動関係を表示する。
    
    フラグメント参照にカーソルを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックして、コンソールでフラグメントを開きます。
    
    詳細は、​[「API Console で仕様を確認」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#review-spec-console)​を参照してください。

## [](#example-oas-api-frag)サンプル OAS 3.0 (YAML) API 仕様フラグメント

OAS 3.0 (YAML) フラグメントプロジェクトを作成した場合は、最初の API フラグメントを次のサンプルコードに置き換えることができます。

サンプル OAS 3.0 (YAML) API 仕様フラグメント

```YAML
openapi: "3.0.0"
info:
  version: 1.0.0
  title: ExampleComponents
paths: {}

components:
  schemas:
    AmericanFlightDataType:
      type: object
      description: American Flight Data Type
      properties:
        ID:
          type: number
        code:
          type: string
        price:
          type: number
        departureDate:
          type: string
        origin:
          type: string
        destination:
          type: string
        emptySeats:
          type: number
        plane:
          type: object
          properties:
            type:
              type: string
            totalSeats:
              type: number
      example:
        ID: 1
        code: ER38sd
        price: 400
        departureDate: 2017/07/26
        origin: CLE
        destination: SFO
        emptySeats: 0
        plane:
          type: Boeing 737
          totalSeats: 150
```

## [](#example-oas-api-spec)サンプル OAS 3.0 (YAML) API 仕様

OAS 3.0 (YAML) API 仕様プロジェクトを作成した場合は、最初の API 仕様を次のサンプルコードに置き換えて、API 仕様フラグメントの追加をテストできます。

サンプル OAS 3.0 (YAML) API 仕様

```YAML
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Example OAS Spec
paths:

  /flights/{ID}:
    get:
      parameters:
        -
          name: ID
          required: true
          in: path
          schema:
            type: string
      responses:
        "200":
          description: "Flight with ID"
          content:
            application/json:
              schema:
```

## [](#example-avro-api-frag)サンプル AsyncAPI 仕様 Avro スキーマフラグメント

Avro スキーマフラグメントを作成した場合は、最初の API フラグメントを次のサンプルコードに置き換えることができます。

サンプル AsyncAPI 仕様 Avro スキーマフラグメント

```JSON
{
  "name": "AmericanFlightDataType",
  "type": "record",
  "fields": [
    {"name": "ID", "type": "int", "example": 1},
    {"name": "code", "type": "string", "example": "ER38sd"},
    {"name": "price", "type": "int", "example": 400},
    {"name": "departureDate", "type": "string", "example": "2017/07/26"},
    {"name": "origin", "type": "string", "example": "CLE"},
    {"name": "destination", "type": "string", "example": "SFO"},
    {"name": "emptySeats", "type": "int", "example": 0},
    {
      "name": "plane",
      "type": {
        "name": "Plane",
        "type": "record",
        "fields": [
          {"name": "type", "type": "string"},
          {"name": "totalSeats", "type": "int"}
        ]
      }
    }
  ]
}
```

## [](#example-asyncapi-spec)サンプル AsyncAPI 仕様

AsyncAPI 仕様プロジェクトを作成した場合は、最初の API 仕様を次のサンプルコードに置き換えて、API 仕様フラグメントの追加をテストできます。

サンプル AsyncAPI 仕様

```YAML
asyncapi: 2.6.0
info:
  title: Example AsyncAPI Spec
  version: '1.0.0'
channels:
  myChannel:
    publish:
      message:
        schemaFormat: application/vnd.apache.avro;version=1.9.0
        payload:
          $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/example-asyncapi-fragment/1.0.0/example-asyncapi-fragment.json
```

## [](#example-asyncapi-spec-inline-avro)サンプル AsyncAPI 仕様 (インライン Avro)

AsyncAPI 仕様プロジェクトを作成した場合は、最初の API 仕様を次のサンプルコードに置き換えて、API 仕様フラグメントのインラインをテストできます。

サンプル AsyncAPI 仕様 (インライン Avro)

```YAML
asyncapi: 2.6.0
info:
  title: Example AsyncAPI Spec (Inline Avro)
  version: '1.0.0'
channels:
  myChannel:
    publish:
      message:
        schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
        payload:
          name: AmericanFlightDataType
          type: record
          fields:
            - name: ID
              type: int
              example: 1
            - name: code
              type: string
              example: ER38sd
            - name: price
              type: int
              example: 400
            - name: departureDate
              type: string
              example: 2017/07/26
            - name: origin
              type: string
              example: CLE
            - name: destination
              type: string
              example: SFO
            - name: emptySeats
              type: int
              example: 0
            - name: plane
              type:
                name: Plane
                type: record
                fields:
                  - name: type
                    type: string
                  - name: totalSeats
                    type: int
```

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

- [Exchange への API プロジェクトのパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)
- [API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details)チュートリアル
- [API 仕様とフラグメントの削除](https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects)