MuleSoft tutorials DataWeave Language Part1 まとめ
最近は MuleSoft (Anypoint Platform) について勉強してます。
今は勉強メモとして記録してるだけなので、あとでちゃんとまとめます。
参考
https://developer.mulesoft.com/tutorials/dataweave/getting-started-with-dataweave-part-1
DataWeave とは
Mule Application のデータ変換を担当する部分の言語
ここのクイックスタートがわかりやすい
https://docs.mulesoft.com/mule-runtime/4.2/dataweave-quickstart
書き方のメモ(ざっくり)
header と body からで構成される
--- で境目が区切られる
サンプル
https://gyazo.com/87c7112690d69c76bfcc8ce31b657b1d
変数宣言は header 部で行う
header 部に var で宣言する
書き方:var test = " is awesome"
ローカル変数が使える
body 部に書くときは using で宣言する
書き方:using(test = " is awesome") payload.Company ++ test
Company をキーにして渡された入力に対して、"is awesome" をくっつけてるだけ
関数が使える
header 部に fun で宣言する
書き方:fun function(arg) = if(arg == "MuleSoft") "Match" else "No Match"
変数のスコープ宣言
do で宣言する
書き方:
code: Java
%dw 2.0
output application/json
fun function(arg) = do {
// この変数のスコープは下の処理部に限定される
var test = arg.Company
---
// 処理
}
---
function(payload)
正規表現的なことやりたいとき
mutch 関数を使う
書き方:
code: java
fun function(arg) = arg match{
case literalMatch: "MuleSoft" -> "Match"
else -> $
}
literalMatch ってのが文字列が一致したら処理するやつ
$ は渡された引数をそのまま返す (pass by する) やつ
ライブラリを読み込む
ライブラリは ここ から探せる
書き方:import * from dw::core::URL
c++ っぽいなって思った
出力の形式 (MIME types)
出力の形式を出力先に教えてやる。head に書く
書き方 (JSON):output application/json
書き方 (TEXT):output application/text
他にも色々あるけど、web 系のエンジニアにはおなじみの書き方なので省略