通常情况下,我们使用POST创建在服务器端的资源。所以理想情况下,如果一切顺利,服务器应该以201创建的状态进行响应,或者在接受异步操作202的情况下进行响应。是否正确返回200确定发布请求?
有什么有效的情况下POST请求可以返回200 OK?或者我们不应该使用200 OK来发送POST请求。
通常情况下,我们使用POST创建在服务器端的资源。所以理想情况下,如果一切顺利,服务器应该以201创建的状态进行响应,或者在接受异步操作202的情况下进行响应。是否正确返回200确定发布请求?
有什么有效的情况下POST请求可以返回200 OK?或者我们不应该使用200 OK来发送POST请求。
我看到200是一个非常常见的响应邮政网上的请求。使用它很好。
从RFC 7231:
6.3.1。 200 OK
200(OK)状态码指示请求已成功。 在200响应所发送的有效载荷依赖于请求方法。
对于本说明书中,预期含义有效载荷的
定义的方法可以概括为:GET目标资源的表示;
头相同的表示为GET,但没有 表示 数据;
发布该行为的状态或结果的表示形式 ;
PUT,DELETE表示动作的状态;
OPTIONS的通信选项的表示;
跟踪由 结束 服务器收到的请求消息的表示。
而第4.3.3:
回应帖子的时候,他们包括 明确的新鲜信息(参见4.2.1节[RFC7234])的请求只是缓存。 但是,POST缓存并未广泛实施。对于 原始服务器希望客户端能够以可以被稍后的GET重用的方式来缓存POST结果的情况,原始服务器MAY 会发送一个包含结果的200(OK)响应和一个内容 - 位置具有相同值作为POST的请求有效URI (节3.1.4.2) 报头字段。
但是如果我们用它来开发一个API,我们可以称它为一种安静的方法吗? – DesirePRG
@DesirePRG当然,为什么不? RESTful是对远程API的架构属性的描述。它甚至不需要使用HTTP来实现RESTful,更不用说使用特定的返回码。 –