はじめに
会社の業務にてMulesoftのAnypointStudio、AnypointPlatformを利用した
API開発に携わることになったため、開発メモをここに残しておこうかと思います。
開発環境の構築
公式のページを見ながら
- Java
- Maven
- AnypointStudio
をインストールする。
現在の私のパソコン(Windows10 Pro)でのバージョンは、
- Java 1.8.0
- Maven 3.8.7
- AnypointStudio 7.12.1
となっています。
AnypointStudioで最初のプロジェクトを作る
今回作るもの
APIにリクエストを投げると
{
"Hello":"World"
}
と返してくれるAPIをローカルで作成して動かします。
1. [File] -> [New] -> [Mule Project] から新規プロジェクトの作成
2. プロジェクト名を決める -> [Finish]
3. プロジェクトのテンプレートを見てみる
Package Explorer
自動生成されたファイルが並びます。
今日は「helloworld.xml」のみを使用します。
helloworld(xml) & Mule Palette
基本的にAPIの処理は
- MulePalette にあるオブジェクトを xmlファイル にドラッグ&ドロップで配置
- オブジェクトのコンフィグを設定
4. APIの処理を構築していく
HTTPリスナーの配置
APIのトリガとなるHTTPリスナーをまずは配置していきます。
HTTPリスナーを配置すると、その名の通りHTTPリクエストを受け付けることができるようになります。
MulePaletteからListner(HTTP)を配置すると以下のような画面になると思います。
HTTPリスナーのコンフィグ設定
次にHTTPリスナーオブジェクトのプロパティを設定していきます。
[Basic Settings] の [Connector configuration]の横の[+]ボタンを押す。
以下の設定を行って [OK]を押す
- Port:他のアプリケーションが使用していなければデフォルトの「8081」でOK(私の端末はマカフィーが「8081」を使っていたので「8084」に設定した)
- Base path:特にこだわりが無ければそのままでOK
TransformMessageオブジェクトの配置
APIが
{"Hello":"World"}
と返すようにTransformMessageオブジェクトというものを配置します。
TransformMessageはAPIのフロー内で処理される主となるメッセージ(ペイロード)を設定するオブジェクトで、
APIのレスポンス時にメッセージ(ペイロード)に設定されている内容が
最終的なレスポンスとして返されます。
TransformMessageオブジェクトのコンフィグ設定
TransformMessageにはDataweaveというMulesoft独自のスクリプト言語で処理を記述できます。
初期状態が
%dw 2.0
output application/java
---
{
}
となっているので
%dw 2.0
output application/json
---
{
"Hello":"World"
}
にします。
これでAPIの構築は終了です。
5. APIをローカルで起動して動作確認する
[プロジェクトを右クリック] -> [Run As] -> [Mule Apprication]
お好きなブラウザ等で以下にアクセスします。
localhost:{ポート番号}{ベースパス}{パス}
私の場合、
- ポート番号:8084
- ベースPath:未設定
- パス:/hello
なので
http://localhost:8084/hello
にアクセスします。
その結果、
とjson形式でのレスポンスを得られたかと思います。
これで今回の 「MulesoftでAPI開発~最初のAPI開発~」 は終了です。
間違っている箇所などあれば、どしどしご指摘ください。
また「こういう事知りたい」などあればわかる範囲で作成したいと思います。