我一直在研究Java中的RESTful Web服务,我发现的大部分方法看起来都很臃肿。其中包括来自NetBeans,Spring 3和使用Singletons的EJB的方法。
我可能是错的,所以请随意纠正我,但这些'感觉'就像一个相对简单的问题的非常复杂的解决方案。
任何人都可以建议一种非常简单轻量的方法来在Java中执行RESTful Web服务吗?
我不相信MVC在后端是必要的,而不是我正在寻找干净的垂直切片。
除非可以连接到mongoDB,否则我不需要持久性 - 因此我不需要任何ORM映射。
答案 0 :(得分:9)
只需将另一个选项添加到组合中,请查看Spark:
Sinatra启发的微型网络框架
对于Java。
Haven没有亲自使用它,但它看起来很有前景,我肯定会检查它。
而且,不,我不以任何方式与Spark有任何联系。
答案 1 :(得分:8)
我使用CXF和Jersey for JAX-RS来创建RESTful Web服务。使用其中任何一个创建/部署RESTful服务都非常容易。我发现文档足以启动。
答案 2 :(得分:7)
看看Dropwizard,网站上的摘要说明了必须说的内容。
由Yammer开发,为基于JVM的后端服务提供支持, Dropwizard将来自Java的稳定,成熟库汇集在一起 将生态系统转换为简单,轻量级包,让您专注于此 把事情做好。
Dropwizard对复杂的配置提供开箱即用的支持, 应用程序指标,日志记录,操作工具等等, 允许您和您的团队发布生产质量的HTTP + JSON Web 尽可能在最短的时间内完成服务。
我最近将它用于一个简单的应用程序,它被证明非常快速和容易上手并使用它直到应用程序完成。
答案 3 :(得分:3)
您可以查看http://www.restlet.org/。另一种选择是编写一个简单的servlet来处理请求,特别是如果这是一个小项目。
答案 4 :(得分:1)
我建议使用Apache Httpcomponents包。有了它,您可以非常轻松地拥有Restful Web服务。
有一个non-blocking, asynchronous HTTP服务器的示例,或old style, blocking one。
另一个优点是,这不需要任何应用程序服务器,因此您可以启动应用程序,然后就可以了。如果您不需要Servlet容器或Java EE的强大功能,这似乎是一个很好的方法。
答案 5 :(得分:1)
对于“基于数据”的RESTful服务,您可能对MVC的假设是正确的......您希望从URL返回一些JSON。
对于真正的RESTful服务(基于超媒体)w /自定义媒体类型格式... MVC播放非常好,因为视图成为您的媒体格式模板。如果您使用HTML / XML作为基本媒体格式,则尤其如此。