JAX-RS框架
我一直在使用JAX-RS参考实现(Jersey)做一些工作。 我知道至less有两个其他框架(Restlet和Apache CXF)。
我的问题是:有没有人在这些框架之间做过一些比较,如果是的话,你会推荐哪个框架,为什么?
FWIW我们使用Jersey作为其丰富的function(例如WADL,隐式视图,XML / JSON / Atom支持),拥有一个庞大且充满活力的开发者社区,并且具有很好的弹性整合 。
如果你使用JBoss / SEAM,你可能会发现RESTeasy更好一些 – 但是如果你使用Spring来进行dependency injection,那么Jersey似乎是最简单,最stream行,最活跃和最实用的方法。
Restlet有一个扩展名为Spring,WADL,XML,JSON的扩展列表,还有更多,包括JAX-RS API的扩展。
它也是六个一致版本的唯一框架:
- Java SE
- Java EE
- Google Web Toolkit
- Google AppEngine
- Android的
- OSGi环境
其主要好处是:
- 当JAX-RSdevise用于服务器端处理时,完全对称的客户端和服务器API
- 当JAX-RS仅为HTTP时,用于除HTTP之外的其他协议的连接器(映射到HTTP语义)
- 更广泛的function范围,包括通过Restlet API进行完整的URI路由控制(但可以根据需要与Servlet集成)
- 充分提供NIO支持
如果仅限于JCP批准的API(那么不要使用Spring或JAX-RS项目的任何扩展(例如Jersey和RESTeasy!),JAX-RS API可能是一个不错的select),否则Restlet是最成熟的框架最初于2005年发布),并将在2.0版本中为您提供注释的所有优点,以及强大且可扩展的面向类的框架。
有关更多function的列表,请查看此页面 。
最好的问候,杰罗姆Louvel
Restlet〜创始人兼开发者〜http ://www.restlet.org
我和我的团队广泛使用Restlet,但不使用JAX-RS的function。 我可以告诉你,Restlet开发人员和社区给我留下了深刻的印象。 他们非常积极,积极主动,积极响应并致力于稳定,高效,可靠和有效的框架。 对不起,我不能直接解决你的主要兴趣,但我想你可能会发现我的经验与Restlet有价值。
我的同事提到了为什么我们在使用RESTeasy(JAX-RS)的Java EE中的RESTful Web服务中使用RESTeasy来处理当前的项目:
其参考实现Jersey并没有被选中,因为我们无法很好地将它与EJB3和Seam 2.0集成在一起。
我们使用JAX-RS的RESTeasy实现,因为我们没有将它与EJB和Seam集成在一起。 它也有足够的文件。
Apache还有另一个实现,但是我没有尝试过,因为它使用了JAX-RS的老版本。
最后还有另一个Java REST风格的Web服务框架叫做Restlet,但是我们不赞成,因为在写这篇文章的时候,即使适当的JAX-RS支持,它仍然使用一个自定义的体系结构。
看起来好像有4个体面的JAX-RS实现,所以你可能没有任何一个。 对于它的价值,我发现泽西(1.0.2)到目前为止非常好。 我的需求是相当谦虚,简单的后端服务,照顾水暖等。 而泽西做得相当不错。
发现Apache Wink非常容易使用,支持JAX-RS并且具有超越标准的许多特性。
我会使用没有框架。 只是应用程序服务器附带的一个。 如果你使用一个框架的细节,你将失去可移植性,如果应用服务器的供应商包含你最喜欢的框架的不同版本,你将会陷入困境。 我会坚持jax-ws。