REST API:错误的模式与错误的数据

假设我们有一个REST API接受创建用户请求的以下主体:

{
  "username": "joe",
  "email" : "joe@domain.com"
  ...
}

现在我有点困惑,不知道何时使用HTTP状态400以及何时使用HTTP状态422。

当模式错误时(例如usernamexx而不是username )返回400是否正确?

当模式正确但数据不正确时(例如@dummy等无效的电子邮件格式)返回422是否正确?


我无法发表评论这篇文章,所以我只是写一个简短的回应。

当模式错误时(例如usernamexx而不是用户名)返回400是否正确?

在这种情况下, 422响应是正确的,因为语法不正确。 这将在本文中进一步描述。

如果模式正确但数据不正确(例如无效的电子邮件格式,如@dummy),返回422是否正确?

如果格式错误/不正确的实体应该返回400 。 这在上面提到的帖子中有进一步的描述。 您可以通过加入一个机构来进一步改进答复信息,以进一步解释错误。

链接地址: http://www.djcxy.com/p/45427.html

上一篇: REST API: Wrong schema vs wrong data

下一篇: REST: Mapping application errors to HTTP Status codes