适用于Java的轻量级REST库

适用于Java的轻量级REST库

Lightweight REST library for Java

我正在为我正在开发的Java Web应用程序寻找REST的简化版本。

我看过RESTlet(www.restlet.org)和Struts 2的REST插件,但是我还没有下定决心。我倾向于RESTlet,因为它看起来更轻巧。

有人在没有任何框架或没有框架的情况下实现了RESTful层吗?

由于新的Web层,您发现任何性能问题吗?

引入REST是否给您的项目增加了难以管理或不合理的复杂性? (有些复杂性是可以理解的,但是我的意思是仅仅为了添加REST就过分夸大了您的设计)。


我是JAX-RS的忠实拥护者-我认为他们在该规范方面做得很好。我在许多项目上使用它,并且与它一起工作是一种乐趣。

JAX-RS使您可以使用POJO创建REST资源,该POJO带有处理URI映射,HTTP方法和内容协商的简单注释,这些注释与依赖项注入很好地集成在一起。无需学习复杂的API。仅需要核心REST概念(URI,标头/响应代码和内容协商)。从控制器的angular来看,FWIW JAX-RS非常像Rails一样。

那里有许多JAX-RS实现-请参阅此线程进行讨论。

我个人的建议是使用Jersey作为其背后最大,最活跃的社区,并在撰写本文时具有最佳功能(WADL支持,隐式视图,spring集成,不错的REST客户端API);但是,如果您使用的是JBoss / SEAM,您可能会发现RESTeasy集成得更好。


我是Restlet的忠实拥护者,但是我通常使用它来实现主要功能是RESTful Web服务的应用程序。听起来您正在寻找将RESTful API添加到现有应用程序的想法。如果是这种情况,则基于JAX-RS(或Enunciate \\)的基于注释的方法可能更适合您的项目。

对于Restlet,我可以告诉您,开发人员和社区给我留下了深刻的印象。他们非常活跃,参与,反应迅速,并致力于建立稳定,高效,可靠和有效的框架。我最喜欢框架的一个方面是它是REST范式的基础实现。因此,Restlet应用程序的外部API与内部实现之间没有阻抗不匹配的情况。我也非常喜欢它的灵活性-它可以在Java应用程序容器/服务器(例如JBoss,Tomcat,Jetty等)中运行,也可以在带有嵌入式HTTP服务器库的独立服务器中运行。


您知道有一个用于访问RESTful服务的新JCP API,并且:

JAX-RS JCP311
https://jsr311.dev.java.net/

开放源代码版本称为Project Jersey


好吧,我已经使用了很多Enunciate了。它使用简单的注释来提供REST和/或SOAP端点。

http://enunciate.codehaus.org

此外,瑞安·希顿(Ryan Heaton)始终也为事物提供一流的支持。


我发现restlet是一个非常优雅的建筑。我在.net世界中工作,所以这不是我的选择,但是我能够遵循restlet的基本原理来构建自己的框架。
我发现将基于WCF合同的SOA应用程序转换为基于REST的应用程序大大简化了该应用程序,


我正在为gliffy.com开发REST API,最终我们自己开发了一个。我们不想引入Struts 2,Spring或任何其他框架。我查看了RESTLet,发现它令人难以置信且过于复杂。

Apache具有JAX-RS规范的实现,但尚未最终确定,并且还有一些奇怪之处。我们正计划开放我们的解决方案的源代码,但这还没有几个月。

滚动自己很容易。 Servlet规范为您提供了所需的一切,您可以轻松地通过Hibernate连接到数据库(有关如何在不使用EJB3的情况下设置JPA的信息,请参见http://www.naildrivin5.com/daveblog5000/?p=39)。 >


推荐阅读