如何拆分网址?

时间:2013-01-22 10:33:36

标签: esb mule

我使用的是Mule Studio。

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

首先:value1 第二名:value2

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

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

但现在我明白了:

?first=value1&second=value2

2 个答案:

答案 0 :(得分:4)

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

例如:

    <logger level="WARN" message="#[message.inboundProperties['first']]" />
    <logger level="WARN" message="#[message.inboundProperties['second']]" />

答案 1 :(得分: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>