有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用HttpServlet的javarest

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

我这里的问题是,即使HttpServlet也提供了doGet、doPost等“do”方法,并且还可以指定路径/头等。 那么,通过HttpServlet的doGet/doPost公开一个Web服务就是一个RESTful Web服务


共 (1) 个答案

  1. # 1 楼答案

    虽然您可以使用servlet实现Rest(有很多框架可以实现它),但Rest是一种体系结构原则,它与servlet甚至Java都没有任何关系,正如servlet是一种开放的体系结构,它允许您实现各种事情,包括Rest。所以有一个重叠,但仅此而已

    要将应用程序视为Restful,它需要实现以下部分或全部功能:

    • HTTP动词的语义使用
    • 资源(名词)的定义
    • 正确使用HTTP头和状态代码
    • 无国籍
    • 内容协商
    • HATEOAS(超媒体)

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

    有关Rest的更多信息,请参考前面问题的答案:https://stackoverflow.com/a/671132/342852