Web Services 无效输入应使用什么HTTP状态代码

ua4mk5z4  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(138)

在我的Web服务中,我将输入作为json来处理。当提供的输入无效时,特别是对于PUT和POST请求,应该使用什么正确的HTTP状态代码?
唯一的响应代码,我可以找到似乎适用的是“400坏请求”,但也许有更好的东西?
我实际上有两个可能不同的具体情况的这个问题:
a)服务器不喜欢JSON输入,因为属性/值不能被接受,或者
B)服务器无法解析JSON格式的输入,因为数据未正确格式化为JSON。
示例:如果服务器期望

{ 
  "POSTDATA": {
     "val1":"123", 
     "val2":"xyz"
   }
}

客户给了我们一些我们不知道该怎么办的东西

{ 
    "val1":"bar", 
    "val2":"biz"
}

或者客户提供了一些错误的信息,例如

{
"valA":"123",
skjfhasklfhakppffffzzzzz....

该怎么办呢?

aemubtdh

aemubtdh1#

415 Unsupported media type.源服务器拒绝为请求提供服务,因为有效负载的格式不受支持。

disho6za

disho6za2#

这是一个古老的问题,但它的价值:今天(多亏了WebDAV http扩展),这个错误可以用422(不可处理的实体)错误代码来最好地服务,因为格式和语法是正确的,但是数据本身不能用于其预期目的。

相关问题