为第三方REST API创建Apache Camel组件?

时间:2016-03-24 20:10:41

标签: java rest apache-camel

我正在熟悉Apache Camel。我已经掌握了路由的基础知识,现在我想调查创建自己的Component以利用我正在开发的新项目。

我们使用了第三方商业SaaS产品,它们既提供RESTful API,也提供基于Java的SDK(基本上包含REST API)。鉴于这种情况,实现这一目标的最佳方法是什么?是否要创建一个新的Component / Endpoint / Producer / Consumer类,利用服务的Java SDK来进行这些调用?有没有更快的方法可以让我使用Camel的底层REST Component

这里的目标不仅仅是让集成部分工作。我也可以更多地了解Camel的最佳实践并创建自己的Component,因为随着我们将Camel集成到我们的环境中,这将成为一个更大的需求。

3 个答案:

答案 0 :(得分:0)

我同意其他评论者的意见。使用现有的REST组件。这就是使用REST / SOAP的重点是,有一个与远程系统通信的标准。然后,您将可以更好地控制如何处理有效负载..作为文本JSON / XML或转换为Java POJO。

在2000-2005的ESB v1时代,愤怒就是每个API都有组件 - 它最终成为维护的噩梦 - 保持轻量级,从长远来看你会更开心=)

答案 1 :(得分:0)

如果要连接到标准REST API,为什么要创建自己的组件? Camel已经有了这个组件供您重复使用,并且它更好。仅在处理新数据格式,新系统或协议时才创建新组件。

答案 2 :(得分:0)

聚会晚了一点,但我认为值得在这里提到另一个答案(不久前我在问自己同样的问题)。对其他人可能有用。

我最近使用camel-api-component-maven-plugin来实现一个new Camel FHIR Component,该幕后使用了HAPI-FHIR sdk

我认为这是一个很棒的工具。它将生成样板代码,将第三方CSD与Camel集成在一起。您只需要添加相关的SDK调用即可。它甚至为您生成测试类。 Box等其他组件,一些Google组件,AS2和Olingo都使用了它。该工具有助于以实施/测试方式保持这些状态的一致性。

HTH

约翰。