【发布时间】:2015-01-03 01:56:51
【问题描述】:
在我的网络服务中,我将输入处理为 json。当提供的输入无效时使用什么正确的 HTTP 状态代码,尤其是对于 PUT 和 POST 请求?
我能找到的唯一似乎适用的响应代码是“400 Bad Request”,但也许有更好的东西?
这个问题我实际上有两个可能不同的具体案例:
a) 服务器不喜欢 JSON 输入,因为无法接受属性/值,或者
b) 服务器无法解析 JSON 格式的输入,因为数据未正确格式化为 JSON。
示例:如果服务器期望
{
"POSTDATA": {
"val1":"123",
"val2":"xyz"
}
}
客户提供了一些我们不知道如何处理的东西
{
"val1":"bar",
"val2":"biz"
}
或者客户给了一些无聊的东西,例如
{
"valA":"123",
skjfhasklfhakppffffzzzzz....
怎么办?
【问题讨论】:
-
我认为这可能会引起不同方面的强烈意见。我不认为错误请求代码是合适的,因为 对我 表明 HTTP 请求是错误的 - 但事实并非如此。我怀疑其他人会强烈反对。不过,我不确定我是否会暂时搁置它。也许这里有一个强大的标准?
-
您的第一个错误示例将是 422 Unprocessable Entity 的候选者
标签: json web-services http-post http-status-codes