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

我的问题是:有没有人对这些框架进行过比较,如果是的话,您会推荐哪个框架,为什么?

有帮助吗?

解决方案

FWIW 我们使用 Jersey 因为它充满了功能(例如WADL、隐式视图、XML/JSON/Atom 支持)背后有一个庞大且充满活力的开发人员社区,并且拥有出色的 弹簧集成.

如果您使用 JBoss/SEAM,您可能会发现 RESTeasy 集成得更好一些 - 但如果您使用 Spring 进行依赖注入,那么 Jersey 似乎是最简单、最流行、最活跃且功能齐全的实现。

其他提示

雷斯特莱特 拥有 Spring、WADL、XML、JSON 等扩展的广泛列表,包括 JAX-RS API 的扩展。

这也是唯一的框架 有六个一致版本:

  • 爪哇SE
  • JavaEE
  • 谷歌网络工具包
  • 谷歌应用引擎
  • 安卓
  • OSGi环境

其主要优点是:

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

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

为了更长的时间 功能列表,请查看此页面.

最好的问候,杰罗姆·卢维尔

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

我和我的团队广泛使用 Restlet,但不使用它的 JAX-RS 功能。我可以告诉你,Restlet 开发人员和社区给我留下了深刻的印象;他们非常积极、投入、反应灵敏,并致力于建立一个稳定、高效、可靠和有效的框架。很抱歉,我无法直接解决您的主要兴趣,但我想您可能会发现我在 Restlet 方面的经验很有价值。

我的同事提到了为什么我们在当前项目中使用 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 支持正在进行中。

似乎有 4 个不错的 JAX-RS 实现,所以您可能对其中任何一个都满意。就其价值而言,到目前为止我发现 Jersey (1.0.2) 非常好。我的需求比较小,简单的后端服务,管管水管等等。那件球衣的表现相当不错。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top