8

我一直在研究 Java 中的 RESTful Web 服务,我发现的大多数方法看起来都相当臃肿。其中包括来自 NetBeans、Spring 3 和 EJB 的使用 Singleton 的方法。

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

任何人都可以建议一种非常简单且轻量级的方法来在 Java 中执行 RESTful Web 服务吗?

我不相信 MVC 对这些后端是必要的,相反我正在考虑做干净的垂直切片。

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

4

6 回答 6

9

只是为了将另一个选项加入其中,请查看Spark

受 Sinatra 启发的微型 Web 框架

对于 Java。

没有亲自使用它,但它看起来很有希望,我肯定会去看看。

而且,不,我与 Spark 没有任何关系。

于 2013-06-19T19:12:26.077 回答
8

看看Dropwizard,网站上的摘要说明了必须说的内容。

由 Yammer 开发以支持其基于 JVM 的后端服务,Dropwizard 将来自 Java 生态系统的稳定成熟的库整合到一个简单轻量级的包中,让您专注于完成工作。

Dropwizard 对复杂的配置、应用程序指标、日志记录、操作工具等提供开箱即用的支持,使您和您的团队能够在尽可能短的时间内交付生产质量的 HTTP+JSON Web 服务。

我最近将它用于一个简单的应用程序,事实证明它非常快速且容易上手并使用它直到应用程序完成。

于 2012-10-25T14:23:32.337 回答
8

我使用 CXF 和 Jersey for JAX-RS 来创建 RESTful Web 服务。使用它们中的任何一个来创建/部署 RESTful 服务都非常容易。我发现文档足以启动。

于 2012-10-25T14:30:05.120 回答
3

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

于 2012-10-25T14:10:05.190 回答
1

我建议使用Apache Httpcomponents包。有了它,你可以很容易地拥有一个 Restful Web 服务。

有一个非阻塞、异步HTTP 服务器或旧式阻塞的示例。

另一个优点是这不需要任何应用程序服务器,因此您只需启动您的应用程序,就可以了。如果您不需要 Servlet 容器或 Java EE 的强大功能,这似乎不是一个好方法。

于 2012-10-25T14:18:23.127 回答
1

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

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

于 2012-10-25T15:04:41.077 回答