【问题标题】:Mule Server 3.6 > Anypoint Studio > Raw JSON as POST dataMule Server 3.6 > Anypoint Studio > 原始 JSON 作为 POST 数据
【发布时间】:2015-06-12 15:06:08
【问题描述】:

仍在学习 Mulesoft 的 Anypoint Studio... 我很困惑如何通过 HTTP 侦听器访问原始 JSON POST 数据,然后使用选择流控制根据给定 JSON 索引中的值执行条件。任何人都可以显示/告诉我如何做到这一点?

【问题讨论】:

    标签: mule esb mule-studio


    【解决方案1】:

    JSON HTTP 正文将自动成为 Mule 中消息的有效负载,可能表示为 Stream。

    仅出于演示目的,请尝试在 http:listener 之后使用以下命令记录有效负载:

    <object-to-string-transformer />
    
    <logger level="INFO" message="#[payload]" />
    

    查询 JSON 的最佳方法是将其转换为使用 JSON 模块转换器的 Map。

    <json:json-to-object-transformer returnClass="java.util.HashMap" />
    

    然后使用标准 MVEL 或 Java 语法等 MEL 进行查询。

    对于 JSON 文档,例如:{"person" : {"name" : "bob"}}

    <logger message="#[payload.person.name]" level="INFO" />
    

    您也可以在 choic 路由器中使用这些表达式:

    <choice>
       <when expression="#[payload.person.name == 'bob']">
          do something ...
       </when>
    </choice>
    

    【讨论】:

    • 谢谢@Ryan Carter
    猜你喜欢
    • 2015-08-29
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2015-08-21
    • 2016-04-05
    • 2018-08-20
    相关资源
    最近更新 更多