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>
仍在学习 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>