通常,我们使用POST在服务器端创建资源。理想情况下,如果一切正常,服务器应以201创建的状态响应,或者在接受异步操作202的情况下。
是否有任何有效的情况,POST请求可以返回200 OK?或者我们永远不应该使用200 OK来发送POST请求。
答案 0 :(得分:2)
我认为200是对互联网上POST请求的一个非常常见的回应。使用它很好。
来自RFC 7231:
6.3.1。 200 OK
200(OK)状态代码表示请求已成功。 200响应中发送的有效负载取决于请求方法 对于本说明书定义的方法,预期含义
有效载荷的总结可以概括为:获取目标资源的表示;
HEAD表示与GET相同,但没有 表示 数据;
POST一个表示状态或从中获得的结果, 行动;
PUT,DELETE表示行动的状态;
选择通讯选项的表示;
跟踪由收到的请求消息的表示 结束 服务器
第4.3.3节:
对POST请求的响应只有在包含时才可缓存 显式新鲜度信息(参见[RFC7234]的第4.2.1节)。 但是,POST缓存并未广泛实施。对于某些情况 源服务器希望客户端能够缓存a的结果 POST以一种可以被后来的GET重用的方式,原始服务器可以 发送包含结果和内容位置的200(OK)响应 标题字段,其值与POST的有效请求值相同 URI(第3.1.4.2节)。
答案 1 :(得分:0)
是的,您可以返回200 Ok
HTTP状态,但是您应该返回响应 BODY 。
通常,根据您的API要求,我们有3个选项:
返回201 Created
HTTP状态,并带有 EMPTY BODY 。
如果您不需要返回响应正文。
使用 BODY 返回200 Ok
HTTP状态。
如果您需要返回响应正文[包含已创建的资源]。
返回202 Accepted
HTTP状态,并带有 EMPTY BODY 。
万一该动作将排队。