在Java中實現客戶端和服務器REST框架的最佳框架是什麼?我一直在努力尋找一個易於使用的解決方案。實現Java REST Web服務的最容易的框架
更新:Jersey和Restlet都是不錯的選擇。我們可能會使用Restlet,但我們會試驗兩者。
在Java中實現客戶端和服務器REST框架的最佳框架是什麼?我一直在努力尋找一個易於使用的解決方案。實現Java REST Web服務的最容易的框架
更新:Jersey和Restlet都是不錯的選擇。我們可能會使用Restlet,但我們會試驗兩者。
Restlet聽起來像它應該提供您要查找的內容:
+1我有很好的結果Restlet在大型生產應用程序中。 – 2009-09-30 13:04:02
Jersey對於兩者來說都非常簡單。編寫Web服務,您使用註釋:
@Path("/helloworld")
public class HelloWorldResource {
// The Java method will process HTTP GET requests
@GET
// The Java method will produce content identified by the MIME Media
// type "text/plain"
@Produces("text/plain")
public String helloWorld() {
// Return some cliched textual content
return "Hello World";
}
}
對於客戶端:
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/helloworld");
String s = webResource.get(String.class);
System.out.println(s); // prints Hello World
對於Jersey,JAX-RS(JSR 311)參考實現+1。另外看看http://java.sun.com/javaone/2009/articles/gen_restful.jsp – 2009-09-30 04:18:28
的Restlet還支持在其2.0版本的註釋,同時在客戶端和服務器端上。 JAX-RS API也作爲擴展支持。
這裏是服務器端的簡單示例:
public class HelloWorldResource extends ServerResource {
@Get
public String represent() {
return "hello, world";
}
}
在客戶端:
// Outputting the content of a Web page
new ClientResource("http://www.restlet.org").get().write(System.out);
爲了進一步文檔,check this page。
Restlet看起來很有前途,但文檔卻令人失望。 – deamon 2010-07-29 09:09:09
Manning於2012年9月出版了「Restlet in Action」一書,內容全面。接下來,我們將改進教程和Javadocs(版本2.2和3.0) – 2012-08-06 17:41:52
還有JBoss的新RESTEasy庫。自它首次發佈以來似乎處於快速發展階段。我不知道這是否有好處;它在我的'檢查出來'列表中。
我沒有親自使用它,但一些與我一起工作的團隊正在使用Spring 3 MVC。 REST in Spring 3: @MVC看起來像一個很好的博客文章概述。 RESTful功能包括「URI模板」,「內容協商」,「HTTP方法轉換」,「ETag支持」等。
編輯:還有,看這個問題:Can anyone recommend a Java web framework that is based on MVC and supports REST ?
我可以推薦阿帕奇眨眼,在培養模式的新框架還在,但非常成熟和高品質。
http://incubator.apache.org/wink/
它實現了JAX-RS規範,它具有REST開發包括客戶端&服務器框架。 Apache站在這個項目背後 - 這總是一個好兆頭(和一個很好的許可證:-))
我最喜歡的這個框架是與Spring的直觀集成,如果你希望你的框架是非常有用的輕鬆配置和擴展。
順便說一下,除了其他許可選項(EPL,LGPL 2.1和3.0,CDDL)外,Restlet還在Apache公共許可證下分發:) – 2012-08-06 17:40:36
更新:Xydra Restless不再維護+++如果您在發佈「預留實例」功能之前使用Goolge AppEngine,則可能會考慮使用功能較少但加載速度很快的Xydra Restless。
你可以看看CXF JAX-RS的實現。有關其功能的完整列表,請檢查CXF web site for JAX-RS。 該項目背後的社區似乎非常活躍(2013年7月)。其中的指示是CXF mailing lists中每天的消息數量。
也可以看看dropwizard。
http://meta.stackexchange.com/questions/71068/a-few-possible-duplicate-questions-about-java-rest-what-should-we-do – ripper234 2010-11-27 18:38:57