Flex Gateway新着情報
Governance新着情報
Monitoring API Manager定義入力に応じて動的に実行内容を変更できる変換を作成できます。この DataWeave の例では、ペイロード入力と mapping
という名前の変数の両方を取得します。この変数は、各項目の名前の変更方法とそれぞれで使用するデフォルト値を指定します。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、DataWeave バージョン 1.2 の例を参照してください。
他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
この例では、以下を使用します。
入力配列のすべての要素を調べる map
関数。および、各要素の各項目を調べる 2 番目の map
関数。
mapping
変数で指定された変更を適用するカスタム関数。
デフォルト値を設定する default
。これは、mapping
変数から取得します。
%dw 2.0 output application/json var applyMapping = (in, mappingsDef) -> ( mappingsDef map (def) -> { (def.target) : in[def.source] default def."default" } ) --- payload.sfdc_users.*sfdc_user map (user) -> ( applyMapping(user, vars.mappings) )
<sfdc_users>
<sfdc_user>
<sfdc_name>Mariano</sfdc_name>
<sfdc_last_name>Achaval</sfdc_last_name>
<sfdc_employee>true</sfdc_employee>
</sfdc_user>
<sfdc_user>
<sfdc_name>Julian</sfdc_name>
<sfdc_last_name>Esevich</sfdc_last_name>
<sfdc_employee>true</sfdc_employee>
</sfdc_user>
<sfdc_user>
<sfdc_name>Leandro</sfdc_name>
<sfdc_last_name>Shokida</sfdc_last_name>
</sfdc_user>
</sfdc_users>
[
{
"source": "sfdc_name",
"target": "name",
"default": "---"
},
{
"source": "sfdc_last_name",
"target": "lastName",
"default": "---"
},
{
"source": "sfdc_employee",
"target": "user",
"default": true
}
]
[
[
{"name": "Mariano"},
{"lastName": "Achaval"},
{"user": "true"}
],
[
{"name": "Julian"},
{"lastName": "Esevich"},
{"user": "true"}
],
[
{"name": "Leandro"},
{"lastName": "Shokida"},
{"user": true}
]
]