使用PUT方法更新资源时返回的最合适的响应代码是什么,并且请求包含一些会使域规则无效的数据?
例如,客户资源必须指定名称。如果代理尝试在不提供名称的情况下发出PUT ,我不想更新资源,我想告诉调用者他们需要提供名称 。
什么是HTTP响应代码?
答案 0 :(得分:25)
422怎么样?
“422(不可处理的实体)状态代码表示服务器理解请求实体的内容类型(因此415(不支持的媒体类型)状态代码是不合适的),并且请求实体的语法是正确的(因此a 400(错误请求)状态代码是不合适的)但是无法处理包含的指令。例如,如果XML请求主体包含格式正确(即语法正确)但语义错误的XML指令,则可能发生此错误情况。 “
答案 1 :(得分:4)
答案 2 :(得分:3)
在这种情况下,响应代码与http方法无关。您应该返回相同的状态代码,就好像它是POST请求一样。我会说你应该使用400
或409
(注意:请参阅评论中有关两者之间差异的进一步讨论)。