RESTEasy还是Jersey?

59

我有一个RESTFul Web服务的需求。我们团队需要决定是使用Jersey、Restlet、RESTEasy或其他任何框架。在排除其他框架后,我们无法选择RESTEasy和Jersey之间的区别。

由于它们似乎几乎相同,我们应该考虑什么?

客户端API应该简单易用且功能丰富。我们目前正在生产中使用JBoss 5.1。

请告诉我Jersey和RESTEasy的优缺点。除了它来自JBoss之外,我找不到任何关于Jersey的有效观点。


2
相似的问题。https://dev59.com/G3VD5IYBdhLWcg3wHn2d https://dev59.com/GHA75IYBdhLWcg3wH1XP https://dev59.com/51DTa4cB1Zd3GeqPFwug - Robby Pond
1
我一点也不推荐Jersey(我只尝试过v 2.5.1)。首先,它非常难以配置和设置。 - Muhammad Gelbana
2个回答

27
Jersey的一个不错的增值功能是Jersey测试框架,它可以让您在JUnit中运行和测试Jersey REST服务,无需将它们部署到独立服务器上,甚至在提交代码到repo之前就可以进行测试。
这些测试很容易编写,您可以在检查Jersey web服务代码之前运行它们,以确保您的服务正在工作,并且它们成为您自动化测试套件的一部分,有助于强制执行您的服务与客户端之间的合同。
如果您正在使用Jersety 1.X,可以参考此文章获取更多信息,或者如果您正在使用2.x,则可以参考这篇文章
另一个不错的功能是支持REST MVC模式,它允许您从Jersey服务返回视图而不仅仅是数据(模型)。在这方面,与Jersey测试框架的兼容性仍在完善中,但它可行。
更多关于此的信息,请参见此文章:http://usna86-techbits.blogspot.com/2013/12/jersey-jerseytest-migration-from-1x-to.html

11
RESTEasy也有类似的东西吗?https://docs.jboss.org/resteasy/docs/1.1.GA/userguide/html/RESTEasy_Server-side_Mock_Framework.html - ecbrodie

6

我认为REST API和其实现基本上就像非常基础的功能一样。因此,它们的工作方式相同。但是一个主要的区别在于,在RESTEasy中很难生成WADL API。特别是当客户想要检查REST API调用时,WADL将像WSDL一样提供很大的帮助。


没有所谓的“REST API调用”,WSDL和WADL专门用于RPC而不是REST。 - kalin
3
REST有一个WADL文档。对于Jersey实现来说,生成这个文档很容易(http://blah/application.wadl),但对于RESTEasy来说就比较困难。可以添加一个Maven插件来生成它,参见这里:https://dev59.com/sm435IYBdhLWcg3wohpT。 - MattC
3
WADL:Web应用程序描述语言文件(WADL),https://docs.oracle.com/cd/E19776-01/820-4867/ghmfe/index.html - Imran khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接