【问题标题】:How to represent this response using Dataweave?如何使用 Dataweave 表示此响应?
【发布时间】:2019-10-07 09:31:18
【问题描述】:

我的流程中有一个 HTTP 请求者调用 AmericanFlightsAPI,它的原始 GET 响应是这样的:

[{
"ID": 1,
"code": "ER38sd",
"price": 400.00,
"departureDate": "2016/03/20",
"origin": "MUA",
"destination": "SFO",
"emptySeats": 0,
"plane": {
    "type": "Boeing 737",
    "totalSeats": 150
}

我想过滤这些记录并仅显示包含目的地为“SFO”和“CLE”的航班的记录,如下所示:

{
  "flight_ID": 4,
  "code": "rree1000",
  "destination": {
    "destination": "CLE"
  }

过滤后的目的地的其他字段,如 ID、代码也应从响应中删除。 实现此目的的 Dataweave 代码是什么?实际 API 是这样的:Original API

【问题讨论】:

    标签: anypoint-studio dataweave mulesoft


    【解决方案1】:

    快速简便的方法可能是..

    %dw 2.0
    output application/json
    ---
    payload filter ((value, index) -> (value.destination == 'SFO' or value.destination == 'CLE')) map {
        "flight_ID" : $.ID,
        "code": $.code,
        "destination": {
           "destination": $.destination
      }
    }
    

    【讨论】:

    • 感谢您的回答,但是当我在 Postman 中发送请求时,它说:“响应代码 429 映射为失败。”
    • 非常感谢。从“(值,索引)”中删除“索引”后,它的工作方式与我提到的完全一样。
    猜你喜欢
    • 2017-08-02
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    相关资源
    最近更新 更多