12

从 RESTful 界面来看,在成功的 POST 操作后,最佳状态代码应该是什么?

  • 201 已创建
  • 303 查看其他

注意:考虑到 HTTP 服务器的答案,Location密钥可能存在。

我很困惑。感谢您的任何回答。

4

2 回答 2

9

如果 POST 请求成功创建了新资源,则应返回标头201 Created中提供的资源 URI Location

当资源没有立即创建时,您可以返回303 See Other以响应 POST,例如有一个异步任务负责它,并且您希望将客户端重定向到其他一些 URI,他可以在其中监视任务的当前状态。

于 2013-11-10T22:01:00.923 回答
1

201 Created说“资源已创建,这是该资源的 URL ”。

303 See Other说“没有任何问题,您应该检查此 URL 以获取更多信息”。

主要区别在于, . 如果客户端决定他们需要从服务器获取资源,您只会期望 a在 URL 上产生 a 。GETLocation303 See Other201 CreatedGET

我通常建议不要发送303 See Other除 Web 表单以外的任何内容,或者如果您开发了多阶段 API,您必须在第一个请求之后执行后续请求。

于 2017-03-31T04:38:26.020 回答