Nodejs-RESTFul架构
请求方法
一般会严格要求请求方法及其释义,下面给出常用的请求方法
- 如果请求头中存在
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
风格的参数进行处理
- 默认情况下请求实体会被视作标准 json 字符串进行处理,当然,依旧推荐设置头信息的
关于方法语义的说明:
OPTIONS
用于获取资源支持的所有 HTTP 方法HEAD
用于只获取请求某个资源返回的头信息GET
用于从服务器获取某个资源的信息- 完成请求后返回状态码
200 OK
- 完成请求后需要返回被请求的资源详细信息
- 完成请求后返回状态码
POST
用于创建新资源- 创建完成后返回状态码
201 Created
- 完成请求后需要返回被创建的资源详细信息
- 创建完成后返回状态码
PUT
用于完整的替换资源或者创建指定身份的资源,比如创建 id 为 123 的某个资源- 如果是创建了资源,则返回
201 Created
- 如果是替换了资源,则返回
200 OK
- 完成请求后需要返回被修改的资源详细信息
- 如果是创建了资源,则返回
PATCH
用于局部更新资源- 完成请求后返回状态码
200 OK
- 完成请求后需要返回被修改的资源详细信息
- 完成请求后返回状态码
DELETE
用于删除某个资源- 完成请求后返回状态码
204 No Content
- 完成请求后返回状态码