REST API - 适当的响应状态

时间:2016-02-15 15:00:32

标签: rest http-status-codes

我正在设计一个REST API。我想知道在以下两种情况下最合适的http状态是什么:

用户尝试注册并:

  1. 用户名已存在。
  2. OR:

    1. 密码和密码重复字段不匹配。
    2. 感谢。

2 个答案:

答案 0 :(得分:1)

  

用户名已存在

对于这种情况,

409 Conflict听起来是正确的。

  

密码或密码重复字段不匹配

这是客户端的一般错误。请使用400 Bad Request

有关详情,请参阅https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

答案 1 :(得分:0)

对于已存在的用户名,

409状态代码是一个不错的选择:

  

6.5.8 409 Conflict

     

409(冲突)状态代码表示请求不能   由于与目标的当前状态发生冲突而完成   资源。此代码用于用户可能的情况   能够解决冲突并重新提交请求。服务器   应该生成一个包含足够用户信息的有效负载   认识到冲突的根源。

400状态代码适用于不匹配的密码:

  

6.5.1. 400 Bad Request

     

400(错误请求)状态代码表示服务器不能   或者由于感知到的东西而不会处理请求   成为客户端错误(例如,格式错误的请求语法,无效   请求消息框架或欺骗性请求路由)。