轻量级RESTful Java框架

8
我一直在研究Java中的RESTful Web服务,但大部分方法都看起来非常臃肿。这些方法包括NetBeans、Spring 3和使用单例模式的EJB等。
请随意指正,但这些都感觉像是对一个相对简单的问题提出了非常复杂的解决方案。
有没有人能推荐一个非常简单和轻量级的Java RESTful Web服务方法?
我不确定后端需要MVC,而是考虑做干净的垂直切片。
除非它可以链接到MongoDB,否则我将不需要持久性 - 因此我不需要任何ORM映射。
6个回答

9

只是为了在选择中再增加一个选项,请查看Spark

受Sinatra启发的微型Web框架

适用于Java。

个人没有使用过它,但它看起来很有前途,我肯定会去试一下。

不过,我与Spark没有任何关联。


我现在推荐Javalin(https://github.com/tipsy/javalin)而不是Spark。它起初是从Spark分支出来的,但已经超越了它。 - Alan Evangelista

8
看看Dropwizard,网站上的摘要已经说得很清楚了。
Dropwizard由Yammer开发用于提供JVM后端服务,将Java生态系统中的稳定成熟的库集成到一个简单轻量级的包中,让您专注于完成任务。
Dropwizard支持复杂的配置、应用程序指标、日志记录、操作工具等高级功能,让您和您的团队能够在最短时间内发布一款生产级HTTP+JSON Web服务。
我最近在一个简单的应用程序中使用它,结果证明它非常快速和容易上手,直到应用程序完成。

谢谢这个。这正是我所寻找的。虽然额外功能可能被认为是臃肿,但它不是与仅使服务运行相关的臃肿。它是指度量和类似的东西。这看起来对我来说是最好的选择,也符合我想要做的事情。 - Jeremiah Adams
Dropwizard的链接已经失效了,能否请您替换一下? - watery
这是 Dropwizard 的链接:https://www.dropwizard.io/en/latest/getting-started.html - Marcos Roberto Silva

8

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


经过我的调查,尽管在这里得到了很好的答案,但我还是选择了dropWizard。CXF 和 Jersey 当然也是很好的选择,不过我最终还是选择了dropWizard(其实也是借助了Jersey)。感谢你们的建议。无论是 CXF 还是 Jersey 都可以满足我的需求。 - Jeremiah Adams

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

1

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

这里有一个非阻塞的、异步的HTTP服务器的例子,或者旧式的、阻塞的

另一个优点是不需要任何应用服务器,所以你只需启动你的应用程序,就可以开始了。如果你不需要Servlet容器或Java EE的强大功能,那么这似乎是一个不错的选择。


1

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

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


谢谢,我对整个主题非常陌生。 - Jeremiah Adams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接