Mule:使用json body将查询参数作为POST请求转发GET请求

时间:2015-05-25 08:07:38

标签: mule

我的应用会收到带有网址查询参数的GET请求。我想将此请求作为POST请求转移到另一个应用程序。我希望查询参数将作为json出现在正文中的POST请求中。

输入GET网址,例如:http://localhost:8081/?name=John&age=30&gender=male

预期的POST json有效负载:{"name":"John", "age":30, "gender":"male"}

我认为我应该使用'Data Mapper',但我没有这样做。 在“输入”部分,我将来源定义为 - Inbound Property - http.query.params并输入Map<String,String>。 在输出部分,我希望类型为json

我无法调试/打印此映射的结果,因此我无法看到我的定义的结果。这是正确的定义吗? 如何定义要插入地图的URL中的参数并转换为json?

1 个答案:

答案 0 :(得分:0)

无需使用DataMapper进行这种简单的转换。而是使用MEL表达式转换器从查询参数中创建一个映射,然后添加object-to-json-transformer以将此映射序列化为JSON。

例如,这会创建一个名称为&#39;的地图。查询参数:

<expression-transformer
     expression="#[['name':message.inboundProperties.'http.query.params'.name]]" />

只需添加所有参数。

相关问题