在RESTful界面中,成功执行POST操作后应该是最佳状态代码?
注意:在HTTP服务器答案中考虑,Location
密钥可以存在。
我很困惑。谢谢你的回答。
答案 0 :(得分:7)
如果POST请求成功创建了新资源,则应使用201 Created
标头中提供的资源URI返回Location
。
当没有立即创建资源时,你可以返回303 See Other
以响应POST,就像有一个负责它的异步任务,你想要将客户端重定向到他可以监视的其他URI。任务的当前状态。
答案 1 :(得分:0)
201 Created
说" 资源已创建,此处是该资源的网址"。
303 See Other
说" 没有出错,您应该查看此网址以获取更多信息"。
主要的区别在于,在GET
的情况下,您希望符合条件的客户总是 Location
来自303 See Other
标头的网址。如果客户端决定需要从服务器获取资源,您只希望201 Created
在URL上产生GET
。
我通常建议不要发送303 See Other
除了网页表单之外的任何内容,或者如果您已经开发了多阶段API,那么您必须在第一个之后执行后续请求。