请求方法
最后更新于:2022-04-01 22:45:50
## 请求方法
* 如果请求头中存在 `X-HTTP-Method-Override` 或参数中存在 `_method`(拥有更高权重),且值为`GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `OPTION`, `HEAD` 之一,则视作相应的请求方式进行处理
* `GET`, `DELETE`, `HEAD` 方法,参数风格为标准的 `GET` 风格的参数,如 `url?a=1&b=2`
* `POST`, `PUT`, `PATCH`, `OPTION` 方法
* 默认情况下请求实体会被视作标准 json 字符串进行处理,当然,依旧推荐设置头信息的`Content-Type` 为 `application/json`
* 在一些特殊接口中(会在文档中说明),可能允许 `Content-Type` 为 `application/x-www-form-urlencoded` 或者 `multipart/form-data` ,此时请求实体会被视作标准 `POST` 风格的参数进行处理
关于方法语义的说明:
* `OPTIONS` 用于获取资源支持的所有 HTTP 方法
* `HEAD` 用于只获取请求某个资源返回的头信息
* `GET` 用于从服务器获取某个资源的信息
* 完成请求后返回状态码 `200 OK`
* 完成请求后需要返回被请求的资源详细信息
* `POST` 用于创建新资源
* 创建完成后返回状态码 `201 Created`
* 完成请求后需要返回被创建的资源详细信息
* `PUT` 用于完整的替换资源或者创建指定身份的资源,比如创建 id 为 123 的某个资源
* 如果是创建了资源,则返回 `201 Created`
* 如果是替换了资源,则返回 `200 OK`
* 完成请求后需要返回被修改的资源详细信息
* `PATCH` 用于局部更新资源
* 完成请求后返回状态码 `200 OK`
* 完成请求后需要返回被修改的资源详细信息
* `DELETE` 用于删除某个资源
* 完成请求后返回状态码 `204 No Content`
相关资料:
* [RFC 7231 中对请求方法的定义](http://tools.ietf.org/html/rfc7231#section-4.3)
* [RFC 5789](http://tools.ietf.org/html/rfc5789) - PATCH 方法的定义
* [维基百科](http://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE#.E8.AF.B7.E6.B1.82.E6.96.B9.E6.B3.95)
';