如果我需要对我的业务逻辑进行一些验证,您会建议我使用哪种状态代码?
(例如)我必须验证用户名是否先前已注册。
我使用
400错误请求
或
409冲突
但我不确定它是否是最好的选择。
答案 0 :(得分:0)
根据HTTP规范:如果出现"内部服务器错误,则应使用5xx
系列响应代码" - 也就是说,在Web服务器中发生了一些不好的事情,这是开发人员(或系统管理员 - 这种性质的事情)的错,而不是网络服务的最终用户。
4xx
表示"发送到服务器的数据有问题",例如404
用于客户端请求的资源不是存在且400
用于通用"错误请求" (例如,XML请求缺少必需的元素)。
您为"用户名返回HTTP 409 Conflict
的示例已经注册"看起来很好,但严格地说,只有当请求在特定实体上时才应该使用。当请求路径未唯一标识特定资源时,409响应将不合适。