MuleSoftで簡単なAPIを作成

MuleSoft
MuleSoft

みなさん、こんにちは。以前にMulesoftを始めるにあたっての準備や環境作成について、こちらの記事を掲載しました。本記事では、簡単なAPIを作成して、APIの作り方を学んでいきたいと思います。

目的・ゴール

Muleで簡単なHTTPリクエストを受信したときに、レスポンスに「Hello Mule」を返却するAPIを作成します。

なお、今回はローカル環境にてAPIを動かすため、Anypoint Platformを経由しません。また、Salesforce環境にも接続しません。よって、開発環境用のPCにAnypoint StudioとAPIを確認するためのAdvanced REST Clientを用意します。

Anypoint StudioでAPIを作成する

Anypoint Studioの起動

インストールしたAnypoint Studioを開くと、ワークスペースの選択ダイアログが出るため、任意の場所に指定します。

Anypoint StudioはEclipseベースの開発統合環境のため、Mule開発に必要なプラグインが既にインストール済みの状態です(その分、Anypoint Studio自体の動作は若干重めです)。プラグインを最新化するために、[Help]→[Check for Updates]からインストール可能なプラグインかないかを確認します。

利用可能なソフトウェアの更新
Check for Updates

更新可能なソフトウェアがあれば、最新化しておきましょう。

Muleプロジェクトの作成

Anypoint Studioを最新化したところで、次はプロジェクトを作成します。Javaなどと同じように、Muleでも同様にプロジェクトを作っていきます。

Package Explorerにある[Create a Mule Project]または[File]→[New]→[Mule Project]からプロジェクトを作成します。

Muleプロジェクトの作成
Muleプロジェクトの作成

プロジェクト名は任意の名前でOKです。以外の入力やチェックはデフォルトのままでOKです。

Muleプロジェクト設定
Muleプロジェクト設定

プロジェクトは以下のような構成となっています。これから作成していくMuleのAPIは「src/main/mule」の中で作成していくことになります、プロジェクト作成の段階で、「プロジェクト名.xml」という名前のMuleのAPI(中身は空です)のプログラムが記載されたファイルが作成されています。これをMuleコンフィグレーションファイルと呼びます。

Muleプロジェクトの構成
Muleプロジェクトの構成

APIの作成

今回はこのデフォルトで作成されているコンフィグレーションファイルにAPIのロジックを記載していきます。プログラムと言っても、ソースコードを打ち込むという感じではなく、GUIベースで必要なコンポーネントを追加しながらフローを組み立てていく形での実装となります。

それでは早速作っていきましょう!

まずは、HTTPのリクエストを受信するためのHTTP Listenerを配置します。右側にあるMule Paletteから[HTTP]→[Listener]をドラッグ&ドロップします。

HTTP Listenerの配置
HTTP Listenerの配置

以下のようにHTTP Listenerが作成されます。HTTP Listenerには必須の設定がありますので、下部にあるプロパティからいくつか設定を入れておきます。

今回はGETメソッドのAPIを作成したいと思います。

まずは、[General]の[Basic Setting]にある[Connector configuration]からHTTPのコネクタ設定を行います。右側の「+」アイコンからHTTP_Listener_configを作成します。今回はlocalhostで作っていくためデフォルトのままでOKです。

HTTP Listener Configの設定
HTTP Listener Configの設定

次にパスを設定します。[General]の[General]にある[Path]に「/hellomule」と入力します。

HTTP Listenerのパス設定
HTTP Listenerのパス設定

最後にメソッドの設定をします。GETメソッドで動作するようにしたいので、[Advanced]の[Allowed methods]に「GET」と入力します。

 HTTP Listenerのメソッド設定
HTTP Listenerのメソッド設定

これでHTTP Listenerの設定は終了です。必須項目を入力したことで、Listenerに付いていたエラーのアイコンが消えているかと思います。

Listenerの次は「Hello Mule」を返すレスポンスを設定します。こちらはMule Paletteの[Core]→[Set Payload]をフローのProcess上にドラッグ&ドロップします。

Set Payloadの配置
Set Payloadの配置

Set Payloadのプロパティから[General]→[Value]の値に「Hello Mule」を入力します。

Set Payload設定
Set Payload設定

以上で簡単ではありますが、APIの作成が終了です。

作成したAPIを動かしてみる

それでは作成したAPIを動かしてみましょう。まずは作成したAPIをデプロイします。今回はローカル環境へデプロイすることになるので、フロー上を右クリックして、[Run project プロジェクト名]または[Run]→[Run]から実行します。デバッグを実施したい場合は、[Debug project プロジェクト名]でもOKです。

Muleプロジェクトの実行
Muleプロジェクトの実行

エラーがなければコンソール上に「DEPLOYED」というログが出力されます。これが出ればフローが有効化された状態となり、APIを実行することができます。

DEPLOYEDになれば実行可能
DEPLOYEDになれば実行可能

Advanced REST Clientから動作を確認します。URLを「http://localhost:8081/hellomule」と入力して送信して、レスポンスに「Hell Mule」と表示されれば成功です!

Acvanced REST Clientでの確認
Acvanced REST Clientでの確認

最後に

簡単ではありますが、APIを作成して実際に動かすところまでの流れを紹介しました。あとは、Muleフローに組み込むコンポーネントの機能を理解しつつ、フローを組み立てればいろいろなことができるようになるのではないかと思います。

次回はSalesforce環境を使って実際に連携するAPIを作ってみたいと思います。

セールスフォースのご相談・お問い合わせ

タイトルとURLをコピーしました