Проблема с условием "когда и в противном случае" - PullRequest
1 голос
/ 05 мая 2020

Я позволю коду сделать объяснение.

Dataweave выдает ошибки:

Невозможно разрешить ссылку, когда

Невозможно разрешить ссылку или иначе

Входное сообщение: массив объектов. Хотя здесь я привел только 1 объект.

[{
    "Field1" : 12345,
    "field2" : 10
}]
%dw 2.0
output application/json
---
payload map {
"test" : $.Field1 when $.field2 >= 1 otherwise ""
}

1 Ответ

4 голосов
/ 05 мая 2020

Надим <expression> when <condition> otherwise <expression> в DW 2.0 нет. Вместо этого используйте if (condition) <then_expression> else <else_expression>.

Таким образом, ваш код будет следующим:

%dw 2.0
output application/json
var data = [{
    "Field1" : 12345,
    "field2" : 10
}]
---
data map {
    test : if  ($.field2 >= 1) $.Field1 else ""
}
...