Mule Server 3.6 > Anypoint Studio > 原始 JSON 作为 POST 数据

Mule Server 3.6 > Anypoint Studio > Raw JSON as POST data

仍在学习 Mulesoft 的 Anypoint Studio...我很困惑,我如何才能通过 HTTP 侦听器访问原始 JSON POST 数据,然后使用 Choice 流控制来执行基于条件的基于给定 JSON 索引的值。任何人都可以 show/tell 我该怎么做?

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

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

<object-to-string-transformer />

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

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

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

然后像标准 MVEL 或 Java 语法一样使用 MEL 查询它。

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

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

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

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