【发布时间】:2018-04-08 17:41:47
【问题描述】:
如果我需要对我的业务逻辑进行一些验证,你会推荐什么状态码?
(例如)我必须验证用户名是否以前注册过。
我会用一个
400 错误请求
或
409 冲突
但我不确定这是否是最佳选择。
【问题讨论】:
标签: .net rest http asp.net-web-api
如果我需要对我的业务逻辑进行一些验证,你会推荐什么状态码?
(例如)我必须验证用户名是否以前注册过。
我会用一个
400 错误请求
或
409 冲突
但我不确定这是否是最佳选择。
【问题讨论】:
标签: .net rest http asp.net-web-api
根据 HTTP 规范:应使用5xx 系列响应代码以防“服务器内部错误”——也就是说,由于开发人员(或sysadmin - 类似的东西)而不是网络服务的最终用户。
4xx 表示“发送到服务器的数据有问题”,例如,404 用于客户端请求但不存在的资源,400 用于通用“错误请求” "(例如,XML 请求缺少必需的元素)。
您为“用户名已注册”返回 HTTP 409 Conflict 的示例似乎很好,但严格来说,这只应在请求针对特定实体时使用。当请求路径不能唯一标识特定资源时,409 响应将不合适。
【讨论】: