【发布时间】:2018-02-04 22:21:09
【问题描述】:
我正在使用 Mule dataweave,这是我的请求,我想 filter 我的请求 code == "P" 如果包含 Code = p 的请求不存在,则始终默认为 code == "C" 因为代码= C 总是出现在传入的请求中。
请求:
{
"addresses": [
{
"contact": 0,
"code": "P",
"TypeDescription": "POSTAL",
"postcode": "1007",
"State": "TamilNadu",
"Description": "Test",
},
{
"contact": 1,
"code": "C",
"TypeDescription": "PHYSICAL",
"postcode": "Bangalore",
"State": "",
"Description": "NEW",
}
]
}
数据编织:
%dw 1.0
%output application/json
---
payload.addresses filter $.code == "P"
它工作正常并过滤掉包含 P 的列表,但是当尝试将 filter 与 default 结合使用时,它不会。
我在dataweave payload.addresses filter $.code == "P1" default "anything here as of now"中尝试过如下方式。
由于在上述响应中,我正在过滤请求中不存在的 P1,因此我期待响应中的 default 内容。但它不起作用。
注意:使用 when 和 else,将列表带入两次。我只需要一个列表作为响应,要么是包含代码 P 的列表,要么是包含 C 的列表。
使用 MUle 3.8.5 V。请告诉我您的想法。提前致谢。
【问题讨论】:
标签: mule mule-component dataweave mule-el