映射CRUD操作到HTTP方法

HTTP 1.1标准定义了下面的方法:

  • OPTIONS:这个方法表示对于请求URI可用的通信选项信息。典型情况下,这个方法不直接用于REST中。然而,这个方法可以被用于基础通信的一部分。举个例子,当消费Web服务来自一个网页时(包含跨域资源共享机制)这个选项可能是可用的。

  • GET:这个方法根据请求的URI取回信息。在RESTful Web服务器情况下,这个方法被用于取回资源。正如第三章,第一个的端点中表明的,这个方法被用于读取操作(CRUD中的R)。

  • HEAD:这个请求在语义上表示响应不用传递主体部分的GET请求。这个方法一般用于获取资源的元信息。类似于OPTIONS方法,这个方法一般不直接用于REST Web服务。

  • POST:这个方法用于指示服务器作为一个新的资源接收一个封装在请求中的实体。新建操作一般映射到这个HTTP方法。

  • PUT:这个方法请求服务器存储一个封装在请求URI中的实体。为支持更新REST资源,这个方法可以被利用起来。和每一个HTTP特性一样,如果实体不存在,服务器可以创建这个资源。但这个是上升到Web服务设计者来决定是否实现这个行为,还是新建资源只由POST请求来处理。

  • DELETE:最后一个还没有映射的操作是删除资源。HTTP标准定义的'DELETE'方法在语义上表示删除RESTful资源。

  • TRACE:这个方法被用于操作Web服务的行为。这个方法一般用于协助开发和测试HTTP特性。TRACE请求一般不映射到任何特定的RESTful操作。

  • CONNECT:这个HTTP方法被定义用来支持通过代理服务器的HTTP隧道。因为它关心的是传输层的特性,这个方法没有自然语义映射的RESTful操作。

RESTful架构不强制要求使用HTTP作为通信协议。而且,虽然HTTP被选择用做底层传输。没有规定要求映射RESTful操作到HTTP方法。开发者可以切实通过POST请求支持所有操作。

这么说吧,从CRUD到HTTP方法映射是最常用于REST web服务的。

操作 HTTP方法
创建 POST
读取 GET
更新 PUT
删除 DELEETE

我们的简单Web服务将使用这些HTTP方法去支持CRUD操作。这章的剩余部分将展示如何实现这些操作。

results matching ""

    No results matching ""