【问题标题】:How to do mapping as arraylist of maps for below using dataweave mule如何使用 dataweave mule 将映射作为下面的映射数组列表
【发布时间】:2017-09-08 08:50:45
【问题描述】:

如何对以下数据进行映射。

ParameterMap{[card=[15242424211], phone=[54545454545]]}

此数据是动态的,它来自作为部分查询参数的 http 请求。我想动态地以 #[{'p1':'v1', 'p2':'v2'}] 形式形成查询参数

例如转入[{'card': '15242424211','phone':'54545454545'}]

即地图数组(应用程序/java)在 mule 中使用 Dataweave 你能帮忙吗?

【问题讨论】:

    标签: mule mule-studio mule-component mule-el mule-esb


    【解决方案1】:

    使用以下代码

    %dw 1.0
    %output application/json
    ---
    inboundProperties."http.query.params" mapObject {
        ($$) : $[0]
    }
    

    这个输出将是{"card": "15242424211","phone":"54545454545"},如果需要,您可以将其包装在数组下

    %dw 1.0
    %output application/json
    ---
    [inboundProperties."http.query.params" mapObject {
        ($$) : $[0]
    }]
    

    这将产生[{"card": "15242424211","phone":"54545454545"}]的输出 HTTP参数详情请参考org.mule.module.http.internal.ParameterMap

    希望对您有所帮助。

    更新:- 请使用以下方法设置 HTTP 出站请求的查询参数。

    <dw:transform-message doc:name="Transform Message">
                <dw:set-payload><![CDATA[%dw 1.0
    %output application/java
    ---
    inboundProperties."http.query.params" mapObject {
        ($$) : $[0]
    }
    ]]></dw:set-payload>
            </dw:transform-message>
    

    【讨论】:

    • 当我使用查询参数访问出站 HTTP 时出现以下错误 ...要求长度

      要求长度


      HTTP 错误 411。请求必须分块或具有内容长度。

      ..你能帮忙吗
    • 按照下面的链接格式(应该是地图)。对于测试,我对数据进行了硬编码并进行了测试。即使它不起作用docs.mulesoft.com/mule-user-guide/v/3.7/…
    • 请检查未注明日期的答案。我已经对其进行了测试,并且对我来说工作正常。
    • 映射运行良好,但 http 查询参数表达式不接受格式。你能帮忙吗
    • 请发布dataweave和http请求的sn-p代码。
    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2020-01-27
    相关资源
    最近更新 更多