0

我使用骡工作室。

例如,当我运行localhost:8080/?first=value1&second=value2时,我想获取两个变量及其值:

第一个:值1 第二个:值2

我使用拆分器删除第一个'/',如下所示:

[regex('/(.*?)', message.payload)]

但现在我得到:

?first=value1&second=value2
4

2 回答 2

4

您可以使用 message.inboundProperties['parameter'] 提取参数。

例如:

    <logger level="WARN" message="#[message.inboundProperties['first']]" />
    <logger level="WARN" message="#[message.inboundProperties['second']]" />
于 2013-01-22T12:26:55.490 回答
1

您可以通过三种方式提取参数:

  • 直接来自消息的入站属性
  • 作为地图,通过访问键入的入站属性http.query.params
  • 使用 http:body-to-parameter-map-transformer 并将地图方便地放置在有效负载上。

考虑运行以下流程:

<flow name="mule-configFlow1" doc:name="mule-configFlow1">
    <http:inbound-endpoint address="http://localhost:8082/app" />
    <http:body-to-parameter-map-transformer />
    <logger level="ERROR" />
    <logger level="ERROR" message="Payload is: #[payload]" />
    <json:object-to-json-transformer />
</flow>
于 2013-01-23T01:32:41.623 回答