2017-02-26 53 views
1

通常情况下,我们使用POST创建在服务器端的资源。所以理想情况下,如果一切顺利,服务器应该以201创建的状态进行响应,或者在接受异步操作202的情况下进行响应。是否正确返回200确定发布请求?

有什么有效的情况下POST请求可以返回200 OK?或者我们不应该使用200 OK来发送POST请求。

回答

2

我看到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) 报头字段。

+0

但是如果我们用它来开发一个API,我们可以称它为一种安静的方法吗? – DesirePRG

+1

@DesirePRG当然,为什么不? RESTful是对远程API的架构属性的描述。它甚至不需要使用HTTP来实现RESTful,更不用说使用特定的返回码。 –