在以下情况下,HTTP PUT的最常见/行业标准响应代码是什么?
在我的特定情况下,客户端使用这样的空JSON发送HTTP PUT:
{}
而我期望这样的事情
{
key1: {
something: value,
something2:value2
},
key2: {
something: value3,
something: value4
}
}
在我的情况下,这将转换为4个新行,并将其上载到数据库中。
我正在考虑400(因为当您调用HTTP PUT时 是一个错误的请求,但是那里没有什么可以放入 ),200, 204和304。
我的问题与this和this不同,因为它们与HTTP GET方法有关,而与this不同,因为尽管与HTTP PUT有关,但答案没有解决我的问题情况。
答案 0 :(得分:2)
PUT
请求应替换指定uri上服务器上的内容。
因此,如果uri上的资源已经为空,并且放置的新资源也为空,则什么都没有改变,但仍然成功,因此200 OK
很好。
如果资源不存在,而您创建了一个新的0字节资源,则201 Created
可能更合适。
如果资源确实存在,但不为空,并且您发送了一个空的PUT
请求,则应使用一个空资源替换现有资源。
这是您要出问题的地方,因为PUT
不应像您所做的那样用于每个记录的“ upsert”。
如果您声明的PUT请求在语义上是正确的,则应清除与该位置相关的所有现有记录。
您可能想要的是PATCH
或POST
。