2012-10-25 76 views
7

我一直在研究Java中的REST风格的Web服务,我发现大多数方法看起来都很臃肿。这些包括来自NetBeans,Spring 3和使用Singleton的EJB的方法。轻量级REST风格的Java框架

我可能是错的,所以请随时纠正我,但这些都“感觉”像一个相对简单的问题非常复杂的解决方案。

任何人都可以提出一个非常简单和轻量级的方法来做Java中的REST风格的Web服务?

我不相信MVC是在后端需要这些,而我正在寻找干净的垂直切片。

我不需要持久性,除非它可以连接到mongoDB--所以我不需要任何ORM映射。

回答

7

看看Dropwizard,网站上的总结说什么有什么要说的。

通过Yammer的开发自己的基于JVM的后端服务动力, Dropwizard拉在一起稳定成熟从Java 生态系统库为简单重量轻包,让你重点关注 完成任务。

Dropwizard具有复杂配置, 应用指标,日志,操作工具,和更外的现成支持, 让您和您的团队船舶生产质量HTTP + JSON网络 在尽可能短的时间内服务。

我最近使用它作为一个简单的应用程序,它被证明是非常快速和容易开始使用,直到应用程序完成。

+0

感谢您的支持。这更多是我在寻找的。尽管额外配置可能会被认为是膨胀的,但它并没有与仅仅使服务运行相关。其指标等。这看起来对我来说是最好的选择,我期望做的是。 –

+0

Dropwizard链接已经死了,你可以替换它吗? – watery

3

您可能会检出http://www.restlet.org/。另一种选择是编写一个简单的servlet来处理请求,特别是如果这是一个小项目。

1

我建议使用Apache Httpcomponents包。有了这个,你可以有一个Restful web服务非常简单。

有一个non-blocking, asynchronous HTTP服务器或old style, blocking one的示例。

另一个好处是,这不需要任何应用程序服务器,所以你可以开始你的应用程序,并且你去了。如果您不需要Servlet容器或Java EE的强大功能,这似乎不是一个好方法。

8

我已经使用CXF和Jersey for JAX-RS来创建RESTful Web服务。使用它们中的任何一个来创建/部署RESTful服务都非常简单。我发现这些文件足以启动。

+0

从我的研究中我发现dropWizard尽管在这里有很好的答案。 CXF和泽西岛肯定是不错的选择,我将使用dropWizard(无论如何均衡泽西岛)。感谢您的意见。 CXF或Jersey也可以满足我的需求。 –

1

对于“基于数据的”RESTful服务,您可能对MVC的假设是正确的......您希望某些JSON从URL返回。

对于真正的RESTful服务(基于超媒体)w /自定义mediatype formats..MVC播放非常好,因为视图成为您的媒体格式模板。如果您使用HTML/XML作为您的基本媒体格式,则尤其如此。

+0

谢谢,我对整个话题非常了解。 –

9

只是抛出另一种选择到组合,看看Spark

一个Sinatra的启发微Web框架

对于Java。

没有亲自使用它,但它看起来很有前途,我一定会检查出来。

而且,不,我不以任何方式隶属于Spark。