验证用户注册请求应返回200或400

问题描述 投票:0回答:1

客户端发送完全有效的用户注册请求,例如用户名密码。

服务器发现用户名已被占用。什么是正确的返回状态 - 200错误消息,或400?规范说:

400意味着请求出了问题。超文本传输​​协议(HTTP)400错误请求响应状态代码指示服务器由于被认为是客户端错误(例如,格式错误的请求语法,无效请求消息成帧或欺骗性请求)而不能或不会处理该请求路由)。

但从技术上讲,请求没有任何问题。

http http-status-codes
1个回答
2
投票

什么是'错误'是该请求旨在创建一个新用户,但由于已经使用了用户名,因此失败了。这绝对属于“客户端错误”类别。而不是将“客户端错误”视为“存在错误”,最好将其视为'由于某种原因,请求失败,并且由客户端进行更正'。

这种特定情况的典型错误代码可能是409 Conflict

如果你发回200,客户应该将结果视为“我的请求成功完成”,这绝对不是这里的情况。

© www.soinside.com 2019 - 2024. All rights reserved.