Rest 替换资源(文件)时应返回什么Http代码

Rest 替换资源(文件)时应返回什么Http代码,rest,http,Rest,Http,我在谷歌上搜索了“替换资源的HTTP代码”,但它确实把关键词搞砸了,没有给我想要的结果。我有一个文件上传API和一个界面,用户可以通过交互来管理他们的图像,有两种情况可能发生:用户可以替换现有图像,或者他可以发送更多图像。当用户替换现有映像时,我应该返回什么HTTP代码 它不是重复的,因为我问的是在替换文件时应该返回什么HTTP代码,而不是人们认为在PUT操作中返回null。如果一个人回答了可能重复的问题,而回答我的问题的信息是另一个故事,那么问题本身就不一样。HTTP代码主要用于HTTP服务器

我在谷歌上搜索了“替换资源的HTTP代码”,但它确实把关键词搞砸了,没有给我想要的结果。我有一个文件上传API和一个界面,用户可以通过交互来管理他们的图像,有两种情况可能发生:用户可以替换现有图像,或者他可以发送更多图像。当用户替换现有映像时,我应该返回什么HTTP代码


它不是重复的,因为我问的是在替换文件时应该返回什么HTTP代码,而不是人们认为在PUT操作中返回null。如果一个人回答了可能重复的问题,而回答我的问题的信息是另一个故事,那么问题本身就不一样。

HTTP代码主要用于HTTP服务器的状态,例如:服务器错误、服务器上找不到文件等

在应用程序中,文件上载API应返回JSON响应,以告知用户上载结果。对于成功的操作,HTTP代码始终可以是200。对于失败的操作,请选择您喜欢的代码

JSON响应示例:

HTTP 200
{
'result': 'ok',
}


HTTP 200
{
'result': 'replaced',
}

HTTP 403/405/etc
{
'result': 'failed',
'reason': 'file exists'
}
参考:

我有一个文件上传API和一个界面,用户可以通过交互来管理他们的图像,有两种情况可能发生:用户可以替换现有图像,或者他可以发送更多图像。当用户替换现有映像时,我应该返回什么HTTP代码

可能是一个;客户机发出请求,您已成功处理该请求


服务器实际做了什么或客户端打算做什么的实际实现细节并不那么重要;状态代码是元数据的一部分,它允许通用http组件了解正在发生的事情,以便它们能够正常工作(我们是否需要使缓存失效,是否应该主动加载其他资源,等等).

根据我应该使用的可能的副本,查看可能的副本。放置用于替换,发布用于创建,对吗?我会同时使用POST。总是返回200听起来像是REST的反面。好吧,如果有人不喜欢200,就定义并在特殊情况下使用4xx。对于“替换”这样的小案例,没有官方的HTTP代码。我反对错误返回200。4xx范围用于客户端错误,而不是服务器错误。我的意思是“文件替换”之类的成功操作为200。对于错误代码,请选择您喜欢的人。我认为使用我们创建的201这样的“替换http代码”是一个好主意。我不明白为什么这个大约200的答案被接受,但我的答案被否决了。