我正在为我正在开发的Java Web应用程序寻找一个轻量级的REST.
我看过RESTlet(www.restlet.org)和Struts 2的REST插件,但我还没有下定决心.我倾向于RESTlet,因为它看起来更轻.
有没有人实现RESTful层没有任何框架或框架?
您是否因为新的网络层而遇到任何性能问题?
REST的引入是否为您的项目增加了难以管理或不合理的复杂性?(有些复杂性是可以理解的,但我的意思是仅仅为了添加REST而过分夸大你的设计)
我是JAX-RS的忠实粉丝 - 我认为他们在这个规范方面做得很好.我在许多项目中使用它,并且很高兴与之合作.
JAX-RS允许您使用POJO创建REST资源,其中简单的注释处理URI映射,HTTP方法和内容协商,所有这些都与依赖注入很好地集成.没有复杂的API需要学习; 只需要核心REST概念(URI,标题/响应代码和内容协商).从控制器的角度来看,FWIW JAX-RS非常Rails-ish
有很多JAX-RS实现 - 请参阅此主题进行讨论.
我个人的建议是使用Jersey作为其拥有的最大,最活跃的社区,在撰写本文时具有最佳功能(WADL支持,隐式视图,Spring集成,良好的REST客户端API); 虽然如果您使用JBoss/SEAM,您可能会发现RESTeasy集成更好一些.
I'm a big fan of Restlet, but I usually use it to implement apps whose primary role is to be a RESTful web service. It sounds like you're looking to add a RESTful API to an existing application. If that's the case, JAX-RS's (or Enunciate's) annotation-based approach might be a better fit for your project.
至于Restlet,我可以告诉你,我对开发人员和社区印象非常深刻; 他们非常积极,参与,反应迅速,致力于建立一个稳定,高效,可靠和有效的框架.我最喜欢的框架是它是REST范式的基础实现; 因此,Restlet应用程序的外部API与内部实现之间不存在阻抗不匹配.我也非常喜欢它的灵活性 - 它可以在Java应用程序容器/服务器(如JBoss,Tomcat,Jetty等)内运行,也可以独立运行,带有嵌入式HTTP服务器库.