it-swarm.cn

JAX-RS框架

我一直在使用JAX-RS参考实现(Jersey)。我知道至少有两个其他框架(Restlet和Apache CXF)。

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

50
Shimi Bandiel

FWIW我们使用Jersey作为其丰富的功能(例如WADL,隐式视图,XML/JSON/Atom支持),它背后有一个庞大而充满活力的开发人员社区,并且具有很好的 spring集成

如果您使用JBoss/SEAM,您可能会发现RESTeasy集成更好一些 - 但如果您使用Spring for Dependency Injection,那么Jersey似乎是最简单,最流行,最活跃和最实用的实现。

30
James Strachan

Restlet 有一个扩展的Spring,WADL,XML,JSON扩展列表以及更多,包括JAX-RS API的扩展。

它也是唯一的框架 六个一致的版本

  • Java SE
  • Java EE
  • Google Web Toolkit
  • 谷歌AppEngine
  • Android的
  • OSGi环境

它的主要好处是:

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

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

如需更长的 功能列表,请查看此页面

最诚挚的问候,Jerome Louvel

Restlet~创始人兼首席开发人员〜 http://www.restlet.org

26
Jerome Louvel

我的团队和我广泛使用Restlet,但不是它的JAX-RS功能。我可以告诉你,我对Restlet的开发者和社区印象非常深刻;他们非常积极,参与,反应迅速,致力于建立一个稳定,高效,可靠和有效的框架。对不起,我无法直接解决您的主要兴趣,但我认为您可能会发现我对Restlet的经验很有价值。

7
Avi Flax

我的同事提到为什么我们将RESTeasy用于我们当前的项目 使用RESTeasy(JAX-RS)的Java EE中的RESTful Web服务

它的参考实现Jersey没有被选中,因为我们很难将它与EJB3和Seam 2.0很好地集成。

我们正在使用JAX-RS的RESTeasy实现,因为我们在将它与EJB和Seam集成时没有遇到任何问题。它还有足够的文档。

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

最后还有另一个用于Java的RESTful Web服务框架,称为Restlet,但我们不喜欢它,因为在撰写本文时,它使用的是自定义体系结构,即使正在使用正确的JAX-RS支持。

6
Peter Hilton

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

6
Shimi Bandiel

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

6
StaxMan

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

0
Fabián Escalante