使用Apache Camel 2.14的轻松REST端点
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 2.14的轻松REST端点相关推荐
- apache.camel_使用Apache Camel 2.14的轻松REST端点
apache.camel Apache Camel 最近发布了一个新版本 , 其中一些新功能由我的同事Claus Ibsen博客发布 . 您确实应该检查他的博客条目并深入研究更多细节,但是我一直希望尝 ...
- Apache Camel 2.14中的更多指标
Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. 感谢Lauri Kimme ...
- Apache Camel请向我解释这些端点选项的含义
在即将发布的Apache Camel 2.15中,我们使Camel更智能. 现在,它可以充当老师,并向您说明其配置方式以及这些选项的含义. Camel可以做的第一课是告诉您如何配置所有端点以及这些选项 ...
- apache.camel_Apache Camel 2.14中的更多指标
apache.camel Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. ...
- camel_Apache Camel 2.14中的更多指标
camel Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. 感谢Lauri ...
- apache camel_带有调试器的Apache Camel Eclipse工具
apache camel 大约2个月前, Lars Heineman在 JBoss工具堆栈中写了关于改进的Apache Camel Eclipse工具的博客. 在即将发布的版本中,他们将Camel调试 ...
- 带有调试器的Apache Camel Eclipse工具
大约2个月前, Lars Heineman在 JBoss工具堆栈中的博客中介绍了改进的Apache Camel Eclipse工具. 在即将发布的版本中,他们将Camel调试器与本机Eclipse调试 ...
- Apache Camel 2.19发布–新增功能
Apache Camel 2.19于2017年5月5日发布,大约在一段时间后,我做了一个小博客,介绍了该版本包含的值得注意的新功能和改进. 这是值得注意的新功能和改进的列表. 1. Spring Bo ...
- Apache Camel –从头开始开发应用程序(第1部分/第2部分)
开始之前 前一段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration. 我对此非常满意,因此我决定 ...
最新文章
- 异步请求之XMLHttpRequest篇
- QQ使用了什么通讯协议?为什么要这样做?为什么采用 UDP 协议,而不采用 TCP 协议实现?
- 编码 data:text/html;c,iOS 用TFHpple抓取GB-2312编码的html页面,页面返回编码错误
- 502 Bad Gateway Registered endpoint failed to handle the request
- char与varchar区别(MYISAM)
- 面试官系统精讲Java源码及大厂真题 - 35 经验总结:各种锁在工作中使用场景和细节
- STM32-TFTLCD显示
- ES6入门---变量的解构赋值
- python怎样保存在桌面_python3应用windows api对后台程序窗口及桌面截图并保存的方法...
- 视频:Microsoft PDC 09,算法及数据结构内容及其他
- AMPL_网络项目问题
- 利用标准差剔除异常数据
- 最新的软著自助免费申请教程!
- Excel根据身份证号自动识别性别
- Windows11电脑丢失了数据该怎么恢复?
- Arcgis: 利用xls文件绘制地图+细节参数调整(新手小白一看就懂)
- 在基于Windows系统的PHP虚拟主机上实现域名的301永久重定向
- mysql 日期group_MySql 使用GROUP BY 按照日期分组统计
- sqlite程序实现
- live555 信令分发
热门文章
- 当当网头部和尾部——CSS源码
- spring data jpa是什么?
- mysql级联复制转换成一主两从_一主两从转级联复制
- linux-basic(10)vim程序编辑器
- java泛型程序设计——定义简单泛型类+泛型方法
- neo4j 迁移_在Kubernetes中迁移Neo4j图模式
- 阅读副本和Spring Data第2部分:配置基础项目
- aws 删除ec2实例_如何在AWS EC2实例上部署Spring Boot应用程序
- 困难是成功路上的垫脚石_Java是开发的垫脚石。 学习吧!
- java isempty_Optional.isEmpty()即将加入Java吗?