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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言和图形界面编程打造——浪漫的表白程序

谁说程序员不浪漫&#xff1f;&#xff1f;&#xff1f;来来来一起打造一个浪漫的表白程序&#xff0c;配上好听的音乐&#xff0c;瞬间高大上。下面&#xff0c;发下代码吧&#xff0c;昨天的愤怒的小鸟推箱子版本的没发&#xff0c;今天发这个&#xff0c;&#xff0c;&#…

ei eo eq什么意思_EI源刊是什么意思

EI源刊是什么意思?EI检索分为两种&#xff0c;一种是会议论文检索&#xff0c;一种是期刊论文检索&#xff0c;这两种检索的价值和地位是不同的&#xff0c;也由此引出了EI源刊的概念&#xff0c;EI检索包括JA类型和CA类型&#xff0c;JA是期刊论文检索&#xff0c;CA是会议论…

计算机管理技术学院,计算机管理论文,关于国家电网技术学院:管理平台有“三好”教学管理享轻松相关参考文献资料-免费论文范文...

导读:这是一篇与计算机管理论文范文相关的免费优秀学术论文范文资料。■本报记者卜娜当管理的对象是人时,管理制度的实施总难免遭遇挑战.所以,管理是一个需要不断总结经验、反馈问题、尝试新方法的过程.在国家电网技术学院里,机房管理需要面对的是一群充满好奇心的学生.对信息中…

onpagefinished等了很久才执行_学了那么多精准引流推广的方法 你知道什么才是最重要的吗...

东哥说引流在朋友圈更新了很多引流的方法和技巧&#xff0c;有一部分微友就私信我&#xff1a;引流是好方法重要还是执行力重要&#xff1f;东哥说引流想要告诉你的是&#xff1a;不管任何方法&#xff0c;都只是“术”的层面&#xff0c;方法没有好坏&#xff0c;只是根据每个…

java minor gc_Java Minor发布计划再次进行了调整

java minor gc2013年&#xff0c;Oracle宣布了Java SE –更改版本编号方案 。 该公告指出&#xff0c;将使用特定的版本号方案发布受限更新版本&#xff08;那些“包括新功能和非安全修复程序”&#xff09;和关键补丁更新&#xff08;CPU&#xff09;“那些仅包含安全漏洞修复…

【C语言入门学习笔记】如何把C语言程序变成可执行文件!

环境在ANSI的任何一种实现中&#xff0c;存在两种不同的环境。翻译环境&#xff1a;在这个环境里&#xff0c;源代码被转换为可执行的机器指令。执行环境&#xff1a;用于实际执行代码。翻译环境组成一个程序的每个源文件通过编译过程分别转成目标代码各个目标文件由链接器捆绑…

idea springboot 发布webservice 发布服务_阿里云发布 Spring Boot 新脚手架,真香

作者 | 良名 阿里巴巴技术专家背景相信很多人都使用过 start.spring.io 来初始化自己的 Spring Boot 工程&#xff0c;这个工具为开发者提供了丰富的可选组件&#xff0c;并且可以选择多种打包方式&#xff0c;大大方便了开发人员的使用。最近&#xff0c;阿里的 Nacos、Senti…

从数据的角度解析计算机的发展,2017计算机知识考前冲刺试题及答案

2017计算机知识考前冲刺试题及答案一、基础1、 世界上首先实现存储程序的电子数字计算机是__A__。A 、 ENIAC B、UNIVAC C、EDVAC D、EDSAC2、计算机科学的奠基人是___B_。A、查尔斯.巴贝奇 B 、图灵C、阿塔诺索夫 D、冯.诺依曼2、 世界上首次提出存储程序计算机体系结构的是__…

python简单语法_python的基本语法(一)

1.print 打印&#xff1a;print("我是大佬”&#xff09; input("请输入你的名字:") 2.注释 ctrl/ 表示选中多行注释&#xff08;实际上是单行&#xff09; #表示单行注释 """"""三引号表示多行注释 三单引号表示多行注释print(&…

netbeans6.8_NetBeans 8.0的五个新性能提示

netbeans6.8NetBeans 8.0引入了几个新的Java提示 。 尽管有很多与Java Persistence API相关的新提示&#xff0c;但我还是关注Performance类别中的五个新提示。 NetBeans 8.0引入的五个新的“性能提示”是&#xff1a; 已装箱价值的装箱 冗余String.toString&#xff08;&am…

c语言如何把c程序编译成可执行的exe文件

1、编写一段简单的代码&#xff0c;如下图所示&#xff0c;编辑一段简单的输出语句。2、依次点击菜单栏内的编译→组建→执行&#xff0c;确保这段成率可以正确执行。3、从运行结果来看程序正确&#xff0c;没有问题&#xff0c;然后找到exe可执行程序看其是否有闪退现象。4、将…

sql 联合查询_一张图看懂sql运行顺序

​五月天的《干杯》这首歌短短几分钟&#xff0c;将一个人的一整个人生快速地表现出来。从上课爱看漫画的小男孩到精力充沛的高中生&#xff0c;再到走上工作岗位&#xff0c;而后有了下一代&#xff0c;再为下一代操心&#xff0c;最后进入天堂&#xff0c;和亲人们告别。人生…

计算机语言 angela,Angela

Angela(编程语言)语音编辑锁定讨论上传视频本词条缺少概述图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01;Angela 是一个部分面向问题的编程语言&#xff0c;语法上吸收DELPHI、VB、C、Flash的优点&#xff0c;功能上全面…

卸载ncurses_linux中使用ncurses出现中文乱码解决方法

Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。在linux中使用ncurses的时候出现了一堆的中文乱码&#xff0c;找了很多方法都无法解决这类问题&#xff0c;下面来看看原因分析与解决方案。有几个关键点&#xff1a;1.gcc编译时用&am…

websocket wss_使用wss和HTTPS / TLS保护WebSocket的安全

websocket wss这个博客的第50条提示&#xff0c;是的&#xff01; 技术提示&#xff03;49说明了如何使用用户名/密码和Servlet安全机制保护WebSocket的安全。 本技术提示将说明如何在WildFly上使用HTTPS / TLS保护WebSockets。 让我们开始吧&#xff01; 创建一个新的密钥库…

C语言文件生成静态库lib

最近看到一个模块的程序&#xff0c;在阅读的时候发现一个函数有引用&#xff0c;有声明&#xff0c;却找不到在哪里定义&#xff0c;模块只有头文件没有对应的.c文件&#xff0c;顿生疑惑&#xff0c;想着这程序怎么能运行呢。后来发现文件夹中有个后缀为.a的文件&#xff0c;…

win10打开计算机黑屏怎么办,教你如何解决win10电脑开机黑屏的问题

今天来聊聊一篇关于教你如何解决win10电脑开机黑屏的问题的文章,现在就为大家来简单介绍下教你如何解决win10电脑开机黑屏的问题,希望对各位小伙伴们有所帮助。win10电脑开机黑屏的解决办法&#xff1a;操作步骤&#xff1a;1、win10系统开机的时候一直按F8直到进入高级恢复界面…

python初学者用什么开发环境_python初学者用什么开发环境

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"最权威的技术分享平台&#xff0c;获取最新的…

C语言加减乘除运算

加减乘除是常见的数学运算&#xff0c;C语言当然支持&#xff0c;不过&#xff0c;C语言中的运算符号与数学中的略有不同&#xff0c;请见下表。加法减法乘法除法求余数&#xff08;取余&#xff09;数学 -无C语言 -*/%C语言中的加号、减号与数学中的一样&#xff0c;乘号、除号…

joo工作流_让我们用jOOλ在Java 8中流式传输地图

joo工作流我想找到一种简单的方法来用Java 8流式传输Map 。猜猜是什么&#xff1f; 没有&#xff01; 为了方便起见&#xff0c;我期望的是以下方法&#xff1a; public interface Map<K, V> {default Stream<Entry<K, V>> stream() {return entrySet().st…