使用HttpServlet的REST

时间:2016-06-02 09:22:09

标签: java web-services rest servlets

据我所知,REST是一种架构模式,其中像Jersey这样的框架提供了开箱即用的方法来指定HTTP的GET / POST / DELETE等方法。 Servlet提供了基本功能,它采用样板代码来处理网络请求。

我的问题是,即使是HttpServlet也提供了' do'像doGet,doPost和one之类的方法也可以指定路径/​​标题等。 因此,通过HttpServlet公开Web服务的doGet / doPost是否支持成为RESTful Web服务?

1 个答案:

答案 0 :(得分:0)

虽然你可以使用Servlet实现Rest(并且有许多可用的框架可用),但Rest是一种架构原则,它与Servlet甚至Java无关,就像Servlets是一个开放式架构让你一样实施各种各样的事情,包括休息。所以有重叠,但就是这样。

对于被视为Restful的应用程序,它需要实现以下部分或全部:

  • HTTP动词的语义用法
  • 资源(名词)的定义
  • 正确使用HTTP标头和状态代码
  • 无国籍
  • 内容谈判
  • HATEOAS(HyperMedia)

虽然您可以使用servlet从头开始完成所有这些工作,但重用现有框架并专注于您自己的业务问题通常更好,而不是重新发明轮子。

有关Rest的更多信息,您可以参考上一个问题的答案:https://stackoverflow.com/a/671132/342852