JAX-RS框架

Shi*_*iel 50 java rest jax-rs

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

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

Jam*_*han 30

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

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


Jer*_*vel 26

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

  • 并不是说我完全相信"四个......版本"是一个加分点 - 但你继续列出五个,这有点不一致:) (5认同)

Avi*_*lax 7

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


Pet*_*ton 6

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

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

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

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

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

  • Apache CXF(http://cxf.apache.org)有JAX-RS,但也有一个符合JAX-RS的Apache Incubator项目叫做Apache Wink(http://incubator.apache.org/wink/),不同于CXF专注于JAX-RS. (3认同)

Sta*_*Man 6

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


Shi*_*iel 6

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

  • 对于wink来说,我最喜欢这个框架的是与Spring框架的简单集成 (2认同)