我正在开发一个Java Web应用程序,希望找到一个轻量版的REST。
我已经看过了RESTlet(www.restlet.org)和Struts 2的REST插件,但我还没有决定。我倾向于使用RESTlet,因为它似乎更加轻量。
有人在没有任何框架或使用框架的情况下实现了RESTful层吗?
由于新的Web层,您遇到过任何性能问题吗?
引入REST是否给您的项目增加了不可控制或不合理的复杂性?(某些复杂性是可以理解的,但我指的是仅仅为了添加REST而过度设计)
我正在开发一个Java Web应用程序,希望找到一个轻量版的REST。
我已经看过了RESTlet(www.restlet.org)和Struts 2的REST插件,但我还没有决定。我倾向于使用RESTlet,因为它似乎更加轻量。
有人在没有任何框架或使用框架的情况下实现了RESTful层吗?
由于新的Web层,您遇到过任何性能问题吗?
引入REST是否给您的项目增加了不可控制或不合理的复杂性?(某些复杂性是可以理解的,但我指的是仅仅为了添加REST而过度设计)
我是JAX-RS的超级粉丝 - 我认为他们在规范方面做得非常好。我在许多项目中使用它,非常愉快地与之合作。
JAX-RS允许您使用具有简单注释的POJO创建REST资源,处理URI映射、HTTP方法和内容协商,所有这些都与依赖注入集成得很好。没有复杂的API需要学习;只需要核心的REST概念(URI、头/响应状态码和内容协商)。FWIW从控制器角度来看,JAX-RS有点像Rails
有许多JAX-RS实现 - 请参见这个线程进行讨论。
我的个人建议是使用Jersey,因为它拥有最大、最活跃的社区,具有最佳的功能(WADL支持、隐式视图、spring集成、不错的REST客户机API);但如果您正在使用JBoss/SEAM,您可能会发现RESTeasy更好地集成了一些功能。
JAX-RS JCP311 https://jsr311.dev.java.net/
开源版本被称为Project Jersey。
我正在为gliffy.com开发REST API,我们最终选择了自己开发。我们不想引入Struts 2、Spring或其他框架。我看了看RESTLet,发现它非常混乱和复杂。
Apache有一个JAX-RS规范的实现,但它还没有最终确定,并且也有一些奇怪的地方。我们暂时计划开源我们的解决方案,但这需要几个月的时间。
然而,自己开发很容易。Servlet规范提供了你所需的一切,你可以通过Hibernate轻松连接到数据库(请参见http://www.naildrivin5.com/daveblog5000/?p=39以了解如何设置JPA而不使用EJB3)。
我发现Restlet是一种非常优雅的架构。由于我在.NET世界中工作,所以它对我来说不是一个选项,但是我能够按照Restlet相同的基本原则构建自己的框架。 我已经发现将我们的WCF基于契约的SOA应用程序转换为基于REST的应用程序显着简化了应用程序。