Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerDataWeave ではヘッダーのほとんどのディレクティブが変更されました。%dw ディレクティブは例外です。ほとんどの場合 % が削除され、一部はキーワードが短縮されています。
| DataWeave 1.0 | DataWeave 2.0 | コメント | 
|---|---|---|
  | 
  | 
|
  | 
  | 
Mule アプリケーションフローでは、DataWeave 2.0 は先行するコンポーネントで指定された MIME タイプ (  | 
  | 
  | 
|
  | 
  | 
|
  | 
  | 
|
  | 
  | 
DataWeave 2 ではフローコントロールが若干変更されました。
when otherwise ステートメントは if else に置き換わります。次に例を示します。
{
    orderStatus: "complete" when flowVars.purchaseOrderStatus == "C" otherwise "incomplete"
}
{
    orderStatus: if(vars.purchaseOrderStatus == "C") "complete" else "incomplete"
}
DataWeave 2 ではパターン一致が変更されました。キーワード case と (default ではなく) else が追加されます。また、case キーワードで明示的に区切られるので、ケースをカンマ (,) で区切らなくなりました。
'world' match {
    :string -> true,
    default -> false
  }
'world' match {
    case is String -> true
    else -> false
  }
型のパターンマッチャーの場合は、is キーワードを設定する必要があります。
DataWeave 1.0 では、オブジェクトからキー - 値ペアを選択するには、以下を実行する必要がありました。
%var payload = {a: 1, b:2}
---
payload.a as :object
上記の DataWeave 1.0 の式は、{a:1} を返します。これは強制型変換なので、自動強制型変換メカニズムにも含まれており、望ましくない、または予期しない結果が生じます。
DataWeave 2.0 では強制型変換が削除され、キー - 値ペアの括弧を選択する新しいセレクター (&) が導入されています。
var payload = {a: 1, b:2}
---
payload.&a
この式も {a:1} を返します。