
ラボ 1: RAML 定義を Studio にインポート
概要
このラボでは、MySQL データベースへのリクエストを処理する Product API のスケルトン実装を作成します。Anypoint Studioを使用して、各リソースのメソッドごとに1つのフローがあるMuleアプリケーションを作成します。(例:GET Products)。 さらに、APIKit (Mule アプリケーションの一部として) を使用して REST リクエストを処理します。 それらを各フローによって扱い、処理されるメッセージに変換します。

ステップ 1: 新規Muleプロジェクトを作成し、RAML 定義をインポート
-
まだAnypoint Studioを起動していない場合は、デスクトップ・アイコンから Anypoint Studio を起動し、作業していたワークスペースと同じワークスペースを選択します(例:C:workspaces\myworkspace)。
-
Anypoint Studioのメニューから、[File] > [New] > [Mule Project]を選択して、新規Muleプロジェクトを作成します。新しいアプリケーションの詳細を定義するウィンドウがポップアップします。
-
プロジェクトに product-api という名前を付けます。
-
Mule Server 4.4.0 EE (もしくは最新のバージョン) を選択します。
-
Import a published API の下で、Exchange から RAML 仕様をインポートします。
をクリックし、 from Exchange を選択します。
-
クリックすると、新しいウィンドウが表示されます。 ユーザー名が表示されない場合、Anypoint Platform にログインする必要があります。 Add Account ボタンをクリックしてログインすると、 すべての API のリストが表示されます。
-
Product API を選択し、 Add を押します。
Product API を選択するときは必ず Publisher がワークショップのビジネスグループの名前になっていることを確認してください。
-
Finish を押します。
-
問題がないことを確認してください。Scaffold flows from these API Specifications チェックされていることを確認してください。
-
APIkit は、API 仕様に基づいて生成された実装を使用して、新しい Anypoint Studio プロジェクトを作成します。 生成された構成は、インバウンドの HTTP リスナーのほか、すべてのリソース、リクエスト/レスポンスのデータタイプのメタデータなどを実装しています。

ステップ 2: APIの実行
API を確認するために、まず Studio 内で実行してみましょう。
-
Package Explorer view で api-products を右クリックします。 Run As > Mule Application を選択します。
-
アプリケーションを起動するたびに、正常に起動していることを確認する必要があります。 コンソールタブでプロジェクトが "DEPLOYED" と表示されていることを確認します。
-
アプリケーションがデプロイされると、 Anypoint Studio アプリケーションをテストできる APIkit コンソールのタブが開きます (コンソールにアクセスするには、リンクをクリックしてブラウザで Product API コンソールを開きます)
GET タブをクリックし、Products 取得メソッドをテストします。
-
Acceptフィールドには、必要に応じて
application/json
を入力してください。 -
Send ボタンを押します。
-
3 番目のパネルを下にスクロールすると、API 仕様で定義されているサンプルレスポンスが表示されます。
-
コンソールタブに移動し、赤いボタンを押して Mule ランタイムサーバを停止します。
次のラボでは、データベースに接続するためのフローを更新します。
まとめ
このモジュールラボでは、APIKitを使用したAnypoint Studioプロジェクト作成を使用して、Exchangeに格納されたRAMLからスケルトンAPIを作成しました。Anypoint Studioに組み込まれているローカルMuleランタイム上でAPIを実行してテストしました。
Exchangeに格納されているAPIデザイン(RAML)から、Anypoint Studioを使用してAPIKitを使用してスケルトン実装プロジェクトを簡単に生成できることを確認しました。他の任意の RAML をプロジェクト作成プロセスの一部として参照することもできますし、後で RAML をインポートして、必要に応じてインターフェースを生成することも可能です。
詳細については、 APIKIT のドキュメントを参照してください。
ラボ 2へ進んで下さい。