Flex Gateway新着情報
Governance新着情報
Monitoring API Manager
DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポートが終了しました。 このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。 標準サポートが適用されている最新バージョンの Mule 4 にアップグレードすることをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。 |
DataWeave では、as
演算子を使用して、型を別の型に強制的に変換できます。型強制は実行時に適用されます。
開始する前に、DataWeave バージョン 2 は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントの DataWeave 1.0 ドキュメントセットを参照してください。他の Mule バージョンの場合は、Mule Runtime の目次のバージョンセレクターを使用できます。
期待される型に一致しないプロパティを演算子に提供した場合、DataWeave は、自動的に、提供されたプロパティを必須の型に強制的に変換しようとします。
この DataWeave 例では、String
型を使用して型 Currency
を定義し、Java DecimalFormat パターン (##
) を使用して値を書式設定し、as
を使用して price
値を Currency
型に強制的に変換します。
<items>
<item>
<price>22.30</price>
</item>
<item>
<price>20.31</price>
</item>
</items>
%dw 2.0
output application/json
type Currency = String { format: "\$#,###.00"}
---
books: payload.items.*item map
book:
price: $.price as Currency
{
"books": [
{
"book": {
"price": "22.30"
}
},
{
"book": {
"price": "20.31"
}
}
]
}
次の表は、可能な組み合わせと、変換で使用するスキーマからのプロパティを示しています。
変換元 | 変換先 | プロパティ |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DataWeave では、Java ブリッジを使用して Java の任意の静的関数やコンストラクターをコールできます。この機能は、Java で記述されたビジネスロジックを再利用する必要がある場合や、空の公開コンストラクターがない Java オブジェクトをインスタンス化する必要がある場合に役立ちます。
Java ブリッジを使用するには、完全修飾された Java 名を DataWeave 名に変換します。
プレフィックス !java
を追加します。
完全修飾名のドットを ::
に置き換えます。
Java 関数を呼び出すときには、DataWeave は各引数を関数パラメーターで想定される型に変換します。
次の例は、java.lang.NullPointerException
の新しいインスタンスを作成する方法を示しています。
%dw 2.0
output application/json
---
java!java::lang::NullPointerException::new("foo")
次の例では、関数 java.lang.String.valueOf
を呼び出しています。
%dw 2.0
output text/plain
import valueOf from java!java::lang::String
---
valueOf(true)