0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MulesoftでAPI開発~最初のAPI開発~

Last updated at Posted at 2022-06-28

はじめに

会社の業務にて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] から新規プロジェクトの作成

image.png

2. プロジェクト名を決める -> [Finish]

image.png

3. プロジェクトのテンプレートを見てみる

image.png

Package Explorer

image.png
自動生成されたファイルが並びます。
今日は「helloworld.xml」のみを使用します。

helloworld(xml) & Mule Palette

基本的にAPIの処理は

  • MulePalette にあるオブジェクトを xmlファイル にドラッグ&ドロップで配置
  • オブジェクトのコンフィグを設定

で構築していきます。
image.png

構築されたものをフローといいます。
image.png

4. APIの処理を構築していく

HTTPリスナーの配置

APIのトリガとなるHTTPリスナーをまずは配置していきます。
HTTPリスナーを配置すると、その名の通りHTTPリクエストを受け付けることができるようになります。
MulePaletteからListner(HTTP)を配置すると以下のような画面になると思います。
image.png

HTTPリスナーのコンフィグ設定

次にHTTPリスナーオブジェクトのプロパティを設定していきます。
[Basic Settings] の [Connector configuration]の横の[+]ボタンを押す。
image.png

以下の設定を行って [OK]を押す

  • Port:他のアプリケーションが使用していなければデフォルトの「8081」でOK(私の端末はマカフィーが「8081」を使っていたので「8084」に設定した)
  • Base path:特にこだわりが無ければそのままでOK

image.png

  • Path:今回は「/hello」と設定しました。
    image.png

TransformMessageオブジェクトの配置

APIが

{"Hello":"World"}

と返すようにTransformMessageオブジェクトというものを配置します。
TransformMessageはAPIのフロー内で処理される主となるメッセージ(ペイロード)を設定するオブジェクトで、
APIのレスポンス時にメッセージ(ペイロード)に設定されている内容が
最終的なレスポンスとして返されます。

image.png

TransformMessageオブジェクトのコンフィグ設定

TransformMessageにはDataweaveというMulesoft独自のスクリプト言語で処理を記述できます。
初期状態が

%dw 2.0
output application/java
---
{
}

となっているので

%dw 2.0
output application/json
---
{
	"Hello":"World"
}

にします。

image.png

これでAPIの構築は終了です。

5. APIをローカルで起動して動作確認する

[プロジェクトを右クリック] -> [Run As] -> [Mule Apprication]
image.png

[Console]のメッセージが止まるまで待ちます・・・
image.png

お好きなブラウザ等で以下にアクセスします。

localhost:{ポート番号}{ベースパス}{パス}

私の場合、

  • ポート番号:8084
  • ベースPath:未設定
  • パス:/hello
    なので
http://localhost:8084/hello

にアクセスします。
その結果、

image.png

とjson形式でのレスポンスを得られたかと思います。
これで今回の 「MulesoftでAPI開発~最初のAPI開発~」 は終了です。

間違っている箇所などあれば、どしどしご指摘ください。
また「こういう事知りたい」などあればわかる範囲で作成したいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?