首页 > 解决方案 > 如何使用 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();
}

}

标签: javaspringspring-bootapache-camelpom.xml

解决方案


推荐阅读