欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

apache.camel_使用Apache Camel 2.14的轻松REST端点

发布时间:2023/12/3 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 apache.camel_使用Apache Camel 2.14的轻松REST端点 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

apache.camel

Apache Camel 最近发布了一个新版本 , 其中一些新功能由我的同事Claus Ibsen博客发布 。 您确实应该检查他的博客条目并深入研究更多细节,但是我一直希望尝试的功能之一是新的REST DSL 。

那么,这是什么新的DSL?

实际上,它是对Camel路由DSL的扩展,后者是一种功能强大的域语言,用于以声明的方式描述集成流程,并且有多种形式 。 这非常棒,并且是集成库之间的区别。 如果您还没有看到Camel的DSL,请检查一下。 我是否提到过骆驼的DSL很棒?

k ..回到这里的REST故事..

在2.14版之前,创建其余终结点意味着要使用camel-cxfrs ,对于新用户而言,仅尝试公开一个简单的REST终结点就很难实现。 实际上,这是进行合同优先REST设计的一种非常有效的方法,但我将在下一篇博客文章中介绍。 但是, 在上一篇文章中,我确实深入研究了如何将骆驼cxfrs用于REST端点,以便您可以进行检查。

在2.14版本中,DSL进行了扩展,使创建REST端点变得更加容易。 例如:

rest("/user").description("User rest service").consumes("application/json").produces("application/json").get("/{id}").description("Find user by id").outType(User.class).to("bean:userService?method=getUser(${header.id})").put().description("Updates or create a user").type(User.class).to("bean:userService?method=updateUser").get("/findAll").description("Find all users").outTypeList(User.class).to("bean:userService?method=listUsers");

在此示例中,我们可以看到我们使用DSL定义REST端点,这是清晰,直观和直接的。

您所需要做的就是使用以下代码来设置REST引擎:

restConfiguration().component("jetty").bindingMode(RestBindingMode.json).dataFormatProperty("prettyPrint", "true").port(8080);

或者在您的Spring上下文XML中:

<camelContext>...<restConfiguration bindingMode="auto" component="jetty" port="8080"/> ... </camelContext>

最酷的部分是您可以通过这种方法使用多个HTTP / servlet引擎,包括具有嵌入式码头( camel-jetty )或通过现有servlet容器( camel-servlet )的micrservices样式。 请参阅REST DSL文档 ,以获取可用于此DSL的完整HTTP / Servlet组件。

最后,有人可能会问,如何记录REST端点? 例如,WADL?
好吧,幸运的是,新的REST DSL与出色的Swagger库和REST文档引擎集成在一起了! 因此,您可以自动记录REST端点,并为您生成docs / interface / spec! 看一下随附的camel-swagger文档和camel-example-servlet-rest-tomcat示例,以了解更多信息。

试试看,让我们知道(骆驼邮件列表,评论,stackoverflow,不知何故!!!)它如何为您工作。

翻译自: https://www.javacodegeeks.com/2014/10/easy-rest-endpoints-with-apache-camel-2-14.html

apache.camel

总结

以上是生活随笔为你收集整理的apache.camel_使用Apache Camel 2.14的轻松REST端点的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。