Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Exchange にパブリッシュする前に Anypoint Code Builder を使用して API 仕様の作成、インポート、テストを行います。
IDE から Anypoint Code Builder で API 仕様プロジェクトを作成するか、Design Center から仕様をインポートして API 仕様プロジェクトを作成します。
Anypoint Code Builder の機能を調べるには、oas-example
API 仕様を使用してください。
Anypoint Code Builder で API 仕様プロジェクトを作成する手順は、次のとおりです。
IDE のアクティビティバーで、 (Anypoint Code Builder) アイコンをクリックします。
[Quick Actions (クイックアクション)] から [Design an API (API を設計)] をクリックします。
[API Specification (API 仕様)] フォームに入力します。
項目名 | Field Value (項目値) |
---|---|
Project Name (プロジェクト名) |
プロジェクトの一意の名前。 この名前は Exchange での API 仕様のタイトル、仕様ファイルの名前、プロジェクトのルートディレクトリの名前として使用されます。
たとえば、プロジェクト名が「OAS Example」 (OAS 例) の場合、仕様ファイル名は 既存のプロジェクト名を再利用するには、その名前をすでに使用しているプロジェクトを最初に削除する必要があります。API 仕様とフラグメントの削除を参照してください。 |
Project Location (プロジェクトの場所) |
|
API Specification Language (API 仕様言語) |
サポートされる OAS および RAML バージョンを参照してください。 この手順でサンプルを使用するには、[OAS 3.0 (YAML)] を選択します。 |
[Create Project (プロジェクトを作成)] をクリックします。
プロンプトが表示されたら、フォルダー内のファイルの作成者を信頼します。
プロジェクトの編集準備が整ったら、API プロジェクトのエディタービューで次の OAS 3.0 (YAML) 仕様のような仕様が開きます。
引き続き API 仕様を設計します。
要素を入力するときに、オートコンプリート (Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。
Design Center から API 仕様をインポートします。必要に応じて、Anypoint ソース制御管理 (SCM) システムを使用して、プロジェクトと Design Center との同期を維持します。または、VS Code との互換性がある Git または別の SCM をデスクトップまたはクラウド IDE で使用します。詳細は、API 設計プロジェクトのソース制御を参照してください。
コマンドパレットを開きます。
キーボードショートカットを使用する。
Mac: Cmd+Shift+p
Windows: Ctrl+Shift+p
デスクトップ IDE で、[View (表示)] > [Command Palette (コマンドパレット)] を選択する。
クラウド IDE で、 (メニュー) アイコンをクリックし、[View (表示)] > [Command Palette (コマンドパレット)] を選択する。
次のコマンドを入力します。
MuleSoft: Import API Specification from Design Center
Anypoint Platform にログインするように促されたら、IDE からログインします。
インポートプロセスを完了します。
[Select a Business Group (ビジネスグループを選択)] ポップアップからビジネスグループを選択します。
[APIs from Design Center (Design Center から API)] 項目で API 仕様を検索します。
仕様のフォルダーに移動するか、そのフォルダーを作成して、[Select target folder (対象フォルダーを選択)] をクリックします。
インポートが失敗したといったエラー (「Importing project a_project_name has failed (プロジェクト a_project_name のインポートに失敗しました)」) を受け取ったら、同じ名前のプロジェクトの対象フォルダーを確認します。インポートする前に重複する名前の問題に対処するには、設計プロジェクトを別の対象フォルダーにインポートするか、プロジェクトを IDE から削除することができます (API 仕様とフラグメントの削除を参照)。
必要に応じて、仕様を編集するか、引き続き仕様を設計します。
要素を入力するときに、オートコンプリート (Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。
必要に応じて、Anypoint SCM を使用して変更内容を Design Center と同期します。
この機能は、Design Center からインポートした API プロジェクトでのみ使用できます。作業内容を別の SCM に保存することもできます。SCM オプションについては、ソースファイルの制御を参照してください。
API を設計しているときに内部処理の進行状況を追跡する手順は、次のとおりです。
出力パネルを開きます。
キーボードショートカットを使用する。
Mac: Cmd+Shift+u
Windows: Ctrl+Shift+u
デスクトップ IDE で、[View (表示)] > [Output (出力)] を選択する。
クラウド IDE で、 (メニュー) アイコンをクリックし、[View (表示)] > [Output (出力)] を選択する。
ドロップダウンから [Mule DX Server (Mule DX サーバー)] を選択します:
コンソールに仕様を表示する手順は、次のとおりです。
エディターで仕様ファイルをクリックします。
(API Console) アイコンをクリックします。
または、コマンドパレットでコマンド MuleSoft: API Console
を入力することができます。
API Console にエンドポイントが表示されるまで待機します。
API Console に仕様のエンドポイントが表示されます。次に例を示します。
1 | メソッドをクリックして詳細を表示します。 |
2 | コンソールメニューを表示します。 |
コンソールでメソッドをクリックするか、メニューから項目を選択して、仕様のさまざまな部分を表示します。 たとえば、[GET] をクリックすると、次のように表示されます。
API Console でモッキングサービスを使用して、API 仕様で設定した要求と応答を確認します。
Anypoint Code Builder で API プロジェクトの仕様 (oas-example
など) を開きます。
(API Console) アイコンをクリックして、コンソールに仕様を表示します。
API Console で GET や POST などのメソッドをクリックします。
[Try It (試す)] をクリックします。
定義したパラメーターが正しいことを確認して、[Send (送信)] をクリックします。
定義した応答が API Console に返されることを検証します。次に例を示します。
必要に応じて、モックされた API エンドポイントを照会するときに、設定済みの応答例を確認します。
OAS 3.0 (YAML) プロジェクトを作成したら、初期仕様を次のコード例で置き換えることができます。
openapi: "3.0.0"
info:
version: 1.0.0
title: oas-example
paths:
/contacts:
get:
summary: Retrieve a list of contacts
description: Returns a list of contacts.
responses:
'200':
description: Successful response
content:
application/json:
example:
- id: 1
firstName: John
lastName: Doe
company: Example Corp
- id: 2
firstName: Jane
lastName: Smith
company: Another Company
post:
summary: Create a new contact
description: Creates a new contact.
requestBody:
description: Contact object to be created
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
responses:
'201':
description: Contact created successfully
content:
application/json:
example:
id: 3
firstName: John
lastName: Doe
company: Example Corp
'400':
description: Invalid request
'500':
description: Internal server error
'/contacts/{contactId}':
put:
summary: Update a contact
description: Updates an existing contact based on the contact ID.
parameters:
- name: contactId
in: path
description: ID of the contact to update
required: true
schema:
type: integer
format: int64
requestBody:
description: Updated contact object
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
responses:
'200':
description: Contact updated successfully
content:
application/json:
example:
id: 3
firstName: John
lastName: Doe
company: Updated Corp
'400':
description: Invalid request
'404':
description: Contact not found
'500':
description: Internal server error
components:
schemas:
Contact:
type: object
properties:
id:
type: integer
format: int64
firstName:
type: string
lastName:
type: string
company:
type: string
required:
- firstName
- lastName