java - 如何使用 Apache Camel 将 2 个 REST APIS 的响应返回到第 3 个 REST API
问题描述
我是 Apache Camel 的新手,我想集成或合并 2 个 API GET 请求的结果,并将它们的响应路由到第三个 API。
第一个 API - http://localhost:8080/students/Student1(GET 方法返回 {"id":"1","name":xyz"})
第二个 API - http://localhost:8081/students/Student1( GET 方法返回 {"id":"1","subject":"maths"}) 第三个 API - http://localhost:8082/students/combine(GET 方法应该产生 {"id":"1","主题":"数学","名称":"xyz"}
我真正想做的是用 GET 请求访问第三个 API,以便它可以隐式调用 API1 和 API2 并将输出返回为: {"id":"1","subject":"maths","name": “xyz”}
这是我写的代码。
CamelContext 上下文 = 新的 DefaultCamelContext(); JacksonDataFormat jsonDataFormat = new JacksonDataFormat(Output.class);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("jetty:http://localhost:8080/students/Student1")
.to("direct:merge)
from("jetty:http://localhost:8081/students/Student1")
.to("direct:merge")
from("direct:merge")
.to("jetty:http://localhost:8082/students/combine")
}
});
context.start();
}
}
解决方案
推荐阅读
- confluent-schema-registry - 添加新字段时的架构演变
- grails - 在 Grails 中生成 PDF 时出现随机问题
- java - 如何从流方法返回特定属性
- c - 如果我输入字母,这个 C 程序就不能正常工作
- office365 - 如何在 Windows 10 中以编程方式更改 Office 的默认保存位置
- html - 为什么导航栏折叠对我使用 Bootstrap 不起作用?
- swift - 错误:转义闭包捕获变异的“自我”参数
- github - 如何创建启动另一个 GitHub 操作工作流的 GitHub 操作工作流?
- css - '类别'更改的flexbox表中的粘性左侧单元格
- r - 将模式添加到与另一个模式匹配的列名