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

时间:2018-01-06 12:27:29

标签: rest http

我在Google上搜索了“用于替换资源的HTTP代码”,但它确实与关键字混淆并且没有给我想要的结果。我有一个文件上传API和用户交互来管理其图像的界面,可能会出现两种情况:用户可以替换现有图像,或者他可以发送更多图像。当用户替换现有图像时,我应该返回什么HTTP代码?

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

2 个答案:

答案 0 :(得分:0)

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

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

JSON响应示例:

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


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

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

参考:

HTTP status code for update and delete?

http://www.restapitutorial.com/lessons/httpmethods.html

答案 1 :(得分:0)

  

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

可能是200 OK;客户提出请求,您成功处理了它。

http://racksburg.com/choosing-an-http-status-code/

服务器实际执行的实际细节或客户的意图并不是那么重要;状态代码是元数据的一部分,允许通用 http组件了解正在发生的事情,以便它们可以正常运行(如果我们主动加载其他资源,我们是否需要使缓存无效,等等。)