compose

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

compose(Array<String>, Array<String>): String

カスタム文字列補間値を使用して、URL コンポーネントを ​encodeURIComponent​ 結果に置き換えます。この関数は、標準コールまたは簡易バージョンを使用してコールできます。

パラメーター

Name (名前) 説明

baseStringArray

interpolationStringArray​ パラメーターの文字列を使用して補間する URL 部分を含む文字列配列。

interpolationStringArray

baseStringArray​ を補間するために使用される文字列を含む文字列配列。

次の例では、compose 関数を使用してエンコードされた URL を形成します。最初のパラメーターは 2 つの文字列から成る配列で、これらは URL の一部です。2 つ目のパラメーターは最初のパラメーターの文字列を補間するために使用される ​urlPath​ 変数です。入力内のスペースは出力 URL では ​%20​ にエンコードされます。

ソース

%dw 2.0
output application/json
var urlPath = "content folder"
import * from dw::core::URL
---
{ "encodedURL" : compose(["http://examplewebsite.com/", "/page.html"], ["$(urlPath)"]) }

出力

{ "encodedURL" : "http://examplewebsite.com/content%20folder/page.html" }

簡易構文

この関数を簡易構文を使用してコールすることもできます。その場合は、エンコードする変数を含む文字列をバッククォート (​`​) で囲みます。

次の例は、簡易構文を使用して前の例と同じ結果を得る方法を示しています。

ソース

%dw 2.0
output application/json
var urlPath = "content folder"
import * from dw::core::URL
---
{ "encodedURL" : compose `http://examplewebsite.com/$(urlPath)/page.html` }

出力

{ "encodedURL" : "http://examplewebsite.com/content%20folder/page.html" }