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端点相关推荐
- 使用Apache Camel 2.14的轻松REST端点
Apache Camel 最近发布了一个新版本 , 其中一些新功能由我的同事Claus Ibsen博客发布 . 您确实应该检查他的博客条目并深入研究更多细节,但是我希望尝试的功能之一是新的REST D ...
- apache camel_使用Apache Camel进行负载平衡
apache camel 在此示例中,我们将向您展示如何使用Apache Camel作为系统的负载平衡器. 在计算机世界中,负载平衡器是一种充当反向代理并在许多服务器之间分配网络或应用程序流量的设备. ...
- apache camel_发掘Apache Camel的力量
apache camel 最近几年,ESB软件越来越受欢迎. 如果大多数人通常知道什么是ESB,那么他们很少会清楚地了解这种体系结构的不同组件的确切作用. 例如,Apache ServiceMix由三 ...
- apache camel_学习Apache Camel –实时索引推文
apache camel 在大多数软件开发项目中,有一点需要使应用程序开始与其他应用程序或第三方组件通信. 无论是发送电子邮件通知,调用外部api,写入文件还是将数据从一个地方迁移到另一个地方,您都可 ...
- apache camel_探索Apache Camel Core –文件组件
apache camel 文件轮询器是解决常见IT问题的非常有用的机制. Camel的内置file组件非常灵活,并且有许多选项可用于配置. 让我们在这里介绍一些常用用法. 轮询目录以输入文件 这是一条 ...
- apache camel_使用Apache Camel发布/订阅模式
apache camel 发布/订阅是一种简单的消息传递模式,其中,发布者将消息发送到某个频道,而无需知道谁将接收消息. 然后,通道负责将消息的副本传递给每个订户. 此消息传递模型可以创建松耦合和可伸 ...
- apache camel_带有调试器的Apache Camel Eclipse工具
apache camel 大约2个月前, Lars Heineman在 JBoss工具堆栈中写了关于改进的Apache Camel Eclipse工具的博客. 在即将发布的版本中,他们将Camel调试 ...
- apache camel_使用WildFly 8在Java EE7中自举Apache Camel
apache camel 从Camel版本2.10开始,支持CDI(JSR-299)和DI(JSR-330). 这为在Java EE容器中以及在独立的Java SE或CDI容器中开发和部署Apache ...
- apache.camel_Apache Camel 2.14中的更多指标
apache.camel Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. ...
最新文章
- Linux C程序命令行传参
- turtlebot雷达模块
- 【HDOJ】4579 Random Walk
- OVS datapath之action分析(十九)
- java inflaterinputstream_java.util.zip.InflaterInputStream.available()方法示例
- python import
- 阿里MySQL读写一致_阿里面试题:如何保证缓存与数据库的双写一致性?
- 关于软件测试学习心得
- 写接口是什么意思啊_input是什么接口?了解这个小常识,以后接线更容易
- (二)Qt中QTableView中加入Check列实现
- Redis 不安全临时文件漏洞
- PHP求100-1000之间的水仙花数
- 加深 | Matlab图像实验操作基础(矩阵,九宫格、噪声处理)
- iOS模拟器找不到证书?
- magisk卸载内置软件_【教程篇】安卓手机卡刷Magisk(面具)获取Root教程
- 台式计算机睡眠时间是什么意思,电脑电源选项中的睡眠和休眠各是什么意思,什么作用?...
- 在IE缓存文件夹找到我想要的视频
- application/octet-stream
- 明日之后全部服务器怎么修改,明日之后怎么转区 服务器怎么换
- python mysql_config not found_解决问题:OSError: mysql_config not found