【问题标题】:JAX-RS Frameworks [closed]JAX-RS 框架 [关闭]
【发布时间】:2008-09-17 07:28:37
【问题描述】:

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

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

【问题讨论】:

标签: java rest jax-rs


【解决方案1】:

FWIW 我们正在使用 Jersey,因为它包含了很多功能(例如 WADL、隐式视图、XML/JSON/Atom 支持),背后有一个庞大而充满活力的开发者社区,并且有很棒的 spring integration

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

【讨论】:

  • 当心。 Jersey 2.0 在社区支持和过去在 1.0 中工作但在 2.0 中被删除的功能方面比 1.0 差很多。
  • 您能否详细说明您缺少哪些功能?
  • 我们一直在使用 Jersey,它非常令人印象深刻....我的要求是适度和简单的,所以我很高兴成为 Jerseyiet! @Gili 你能提一下你缺少的功能吗...!!
  • @varra,一年后我已经不记得技术细节了,但缺乏社区支持和 Oracle 开发缓慢仍然是一个主要问题。
  • @Gili 我知道你在那里做了什么:softwareengineering.stackexchange.com/questions/155467/…
【解决方案2】:

Restlet 拥有大量针对 Spring、WADL、XML、JSON 等的扩展列表,包括针对 JAX-RS API 的扩展。

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

  • Java SE
  • Java EE
  • Google 网络工具包
  • 谷歌应用引擎
  • 安卓
  • 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 版本中为您提供注释的所有好处,并结合强大且可扩展的面向类的框架。

更长的list of features, please check this page

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

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

【讨论】:

  • 并不是说我完全相信“四个...版本”是一个加分点 - 但你继续列出五个,这有点不一致:)
  • 你说得对,实际上我们现在有 6 个版本,所以我修正了文本 :)
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

    我们正在使用 JAX-RS 的 RESTeasy 实现,因为我们可以毫不费力地将它与我们的 EJB 和 Seam 集成。它也有足够的文档。

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

    最后,还有另一个用于 Java 的 RESTful Web 服务框架,称为 Restlet,但我们并不喜欢它,因为在撰写本文时,它使用的是自定义架构,尽管适当的 JAX-RS 支持正在开发中。

    【讨论】:

    【解决方案5】:

    似乎有 4 个不错的 JAX-RS 实现,所以您可能对其中任何一个都满意。 就其价值而言,到目前为止,我发现 Jersey (1.0.2) 非常好。我的需求是相当谦虚,简单的后端服务,照顾管道等等。那个泽西做得很好。

    【讨论】:

      【解决方案6】:

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

      【讨论】:

      【解决方案7】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-26
        • 2016-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 1970-01-01
        • 2017-12-11
        相关资源
        最近更新 更多