2008-09-17 46 views
50

我一直在使用JAX-RS参考实现(泽西岛)做一些工作。我知道至少有两个其他框架(Restlet & Apache CXF)。JAX-RS框架

我的问题是:有没有人在这些框架之间做过一些比较,如果有的话,你会推荐哪个框架,为什么?

+0

另请参阅:http://stackoverflow.com/q/3459795/1725096 – 2015-04-27 09:57:02

回答

30

FWIW背后都有一个大的和充满活力的开发者社区,具有很大的spring integration

如果您使用JBoss/SEAM,您可能会发现RESTeasy更好一点 - 但如果您使用Spring进行依赖注入,那么Jersey似乎是最简单,最流行,最活跃和最实用的实现。

+1

要小心。在社区支持和功能方面,泽西2.0在1.0版本中的表现明显低于1.0,但在2.0版本中被删除。 – Gili 2013-12-06 04:25:34

+0

您能详细说明您缺少的功能吗? – 2014-06-13 11:05:09

6

我的同事提到为什么我们在RESTful web services in Java EE with RESTeasy (JAX-RS)使用RestEasy的对我们目前的项目:

它的参考实现,新泽西州,因为我们遇到了麻烦与EJB3和Seam 2.0整合得很好没有选择。

我们使用JAX-RS的RESTeasy实现,因为我们没有将它与EJB和Seam集成在一起。它也有足够的文件。

Apache还有另一个实现,但我没有尝试过,因为它使用了旧版本的JAX-RS。

最后,还有另一个Java REST风格的Web服务框架叫做Restlet,但我们并不赞成它,因为在撰写本文时,它正在使用定制体系结构,即使正确的JAX-RS支持正在工作。我们使用泽西作为其包装完整的功能(例如WADL,含蓄的意见,XML/JSON/ATOM支持)

+3

Apache CXF(http://cxf.apache.org)具有JAX-RS,但也有一个Apache孵化器项目,即JAX-RS符合的叫做Apache Wink(http://incubator.apache.org/wink/),与CXF不同的是JAX-RS。 – 2009-08-12 22:56:43

+1

感谢您指出眨眼。 – Luke 2010-01-15 10:36:09

7

我和我的团队广泛使用Restlet,但没有使用JAX-RS的功能。我可以告诉你,Restlet开发人员和社区给我留下了非常深刻的印象;他们非常积极,积极主动,积极响应并致力于建立稳定,高效,可靠和有效的框架。我很抱歉,我无法直接解决您的主要兴趣,但我认为您可能会发现我对Restlet的宝贵经验。

6

看起来好像有4个不错的JAX-RS实现,所以你可能对任何一个都没问题。 对于它的价值,我发现泽西(1.0.2)到目前为止非常好。我的需求是相当谦虚,简单的后端服务,照顾管道等。泽西做的很好。

6

发现Apache Wink非常易于使用,支持JAX-RS并且具有超出标准的许多功能。

26

Restlet具有扩展春,WADL,XML,JSON以及和广泛的名单更多的人,包括扩展JAX-RS API。

它也是唯一框架available in six consistent editions

  • 的Java SE
  • 的Java EE
  • 谷歌Web工具包
  • 谷歌的AppEngine
  • 的Android
  • OSGi的环境

它的主要好处是:

  • 完全对称的客户端和服务器API时JAX-RS设计用于服务器端处理
  • 连接器,用于其他协议不是HTTP(映射到HTTP语义)时JAX-RS是HTTP只
  • 更广泛的功能范围,包括通过的Restlet API(但如果需要,可以与Servlet的集成)完整的URI路由控制
  • 全额计提NIO支持

如果仅限于JCP批准的API(那么不要使用Spring或JAX-RS项目的任何扩展,如Jersey和RESTeasy!),JAX-RS API可能是一个不错的选择,但Restlet是最成熟的框架(最初于2005年发布),并将在2.0版本中为您提供注释的所有优势,以及强大且可扩展的面向类的框架。

更长的list of features, please check this page

最好的问候, 杰罗姆Louvel

的Restlet〜创始人和首席开发者〜http://www.restlet.org

0

我会用没有框架。只是应用程序服务器附带的一个。如果你使用一个框架的细节,你将失去可移植性,如果应用服务器的供应商包含你最喜欢的框架的不同版本,你将会陷入困境。我会坚持jax-ws。