我是 Apache Camel 的新手,在理解如何实现简单的集成任务时遇到问题:
所以用例是
- 从请求正文中获取列表标识符 ${body.ids} 包含我要迭代的我的 id 列表。示例:1、3、65、6 如何迭代这些(如在 java foreach 中)?
- 循环遍历我的标识符列表并使用当前标识符调用端点;例如,获取人员/{id} 并将响应人员添加到我的人员集合中。使用哪个 EIP 来收集 rest 调用的每个响应并将它们聚合到一个列表中?
- 将我的人集合转换为另一种类型。
- 返回响应
谢谢你的帮助
我是 Apache Camel 的新手,在理解如何实现简单的集成任务时遇到问题:
所以用例是
谢谢你的帮助
您必须编写一个Camel Route来监听请求并执行以下操作
如果您是 Camel 新手,请获取Camel in Action 2nd edition的副本。它会带您逐步从基础到高级主题。
这是示例:(这是在循环中调用 Rest API 并打印响应 - 使用骆驼 spring-DSL 和 groovy 脚本)
<loop doWhile="true">
<simple>${property.loopCounter} < ${body.ids} </simple>
<script>
<groovy><![CDATA[
def loopCounter = exchange.getProperty("loopCounter")
exchange.setProperty("loopCounter", loopCounter + 1)
]]></groovy>
</script>
<setHeader headerName="Exchange.HTTP_URI">
<simple>https://${property.host}/api/<your api endpoint url complete here!!}</simple>
</setHeader>
<toD uri="http4:host"/>
<script>
<groovy><![CDATA[
import groovy.json.*;
def response = new JsonSlurper().parseText(exchange.getIn().getBody(String.class))
println(" Response is :"+response));
]]></groovy>
</script>
</loop>