6

我正在寻找一种可供 Java 开发人员实现将通过 JSON 或 XML 进行通信的 REST 服务的最佳方式。我正在寻找可生产的产品。

我知道 Spring 3.0 即将到来,但还没有完成——运气不好。

泽西岛是那个吗?

我的应用程序由 Tomcat 托管,使用 Spring、Jettison 和 XStream。

我想使用一个开源包,它可以让我拥有与 WCF.NET 类似的开发体验,我可以在其中声明 Url 模板、映射 GET/POST 并以 XML 或 JSON 格式获取输出。接受的有效负载也应该是 XML 或 JSON。

有什么想法吗?

4

4 回答 4

3

Jersey、RESTEasy 和 Restlet 都声称可以满足您的要求。我只尝试过 Restlet,我觉得它很讨厌。

Spring 3 尚未发布最终版本,但 M2 构建似乎相当稳固,并且那里有 REST 的东西。如果我正在构建一个新的 REST webapp,我可能会冒险使用 M2。

于 2009-04-19T18:05:29.663 回答
2

我尝试了 Restlet、RestEasy、Jersey、CXF、Spring。以下是我的反馈:

  1. Restlet:有一套自己的注解有点讨厌。而且也有点混乱。不过也不能怪太多,因为他们甚至在 JAX-RS 出现之前就已经开始实施了。

  2. RestEasy / Jersey / CXF :就像它的名字一样简单。简单直接地开始工作。这 3 个框架的好处是,由于它们与 JAX-RS 兼容,因此如果它的性能更好或更适合您的需求,将来任何时候都可以快速回退到其他 JAX-RS 兼容框架

  3. Spring:Spring 3 已经开始支持 REST API。但是请不要说它不符合 JAX-RS,原因与 Restlet 一样。

    所以我只会从 RestEasy / Jersey / CXF 中选择。

于 2010-01-12T14:54:55.707 回答
0

是的,泽西岛相当不错,根据您的描述,它完全符合您的要求。

我不会等待 Spring-WS-thing——Jersey 很好,而且我不知道 Spring 替代品除了“Spring 品牌”之外还有什么好处。对我来说,JAX-RS(球衣实现的)是选择和使用实现开放 API 的最佳组件的一个很好的例子;Jersey 可以在(除其他外)任何 servlet 容器上运行,可以使用最好的 XML/JSON/etc 解析器,使用可插入验证(bean 验证 api)等等。其他 JAX-RS 实现也应该如此(如 Resteasy)。

于 2009-04-24T18:36:59.300 回答
0

我已经使用并提交了一些 CXF 补丁。它支持 JAX-RS 并且完全可以使用 spring 进行配置。这里有一个很好的教程:

http://cwiki.apache.org/CXF20DOC/jax-rs.html

CXF 是一个 apache 项目,并且由于 JAX-RS 是一个标准,如果您有任何困难,您应该毫无问题地摆脱它。

希望这可以帮助。

于 2009-06-14T17:27:35.800 回答