使用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端点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos攻击软件哪里买(ddos软件出售
- 下一篇: NetBeans 8.0的五个新性能提示