我的要求是接受像localhost这样的端点:8080 / book / {id} / detail?name = whatever;然后获取路径param'id'并查询param'name';然后拆分消息以创建两个请求,如xxx1 / id和xxx2 / name;然后将两个答案汇总在一起。
我最初的想法是使用类似“id,name”的字符串,然后拆分为每个请求的id和name。我看到很多骡子概念分离器,路由器,虚拟机,聚合器..你能否请我解决这个问题?我应该使用什么样的mule组件以及需要编写什么样的自定义java代码。
答案 0 :(得分: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类创建自己的自定义聚合器