0

我的要求是接受一个端点,如 localhost:8080/book/{id}/detail?name=whatever; 然后获取路径参数'id'并查询参数'name';然后拆分消息以创建两个请求,例如 xxx1/id 和 xxx2/name;然后将两个响应聚合在一起。

我最初的想法是使用“id,name”之类的字符串,然后为每个请求拆分为 id 和 name。我看到许多骡子概念分离器、路由器、虚拟机、聚合器..你能帮我解决这个问题吗?我应该使用什么 mule 组件以及需要编写什么样的自定义 java 代码。

4

1 回答 1

0

您可以做的最简单的方法是从路径参数id和查询参数名称中获取值。
如果您使用 Mule 3.6 或更高版本,则可以使用MEL获取两个值,例如#[message.inboundProperties.'http.uri.params'.id]#[message.inboundProperties.'http.query.params'.name]
参考:- https://developer.mulesoft.com/docs/display/current/HTTP+Listener+Connector

获得值后,您可以轻松创建所需的字符串。
对于聚合响应,您可以使用 Mule 的可用聚合器,也可以使用 Java 类创建自己的自定义聚合器

于 2015-08-08T04:23:54.770 回答