Validation 我应该使用什么HTTP状态码进行昵称验证?
我正在构建一个API,其中一个端点是关于公司的昵称验证。我读了很多关于HTTP状态码的书,对于实体验证来说,Validation 我应该使用什么HTTP状态码进行昵称验证?,validation,api,rest,standards,Validation,Api,Rest,Standards,我正在构建一个API,其中一个端点是关于公司的昵称验证。我读了很多关于HTTP状态码的书,对于实体验证来说,422似乎是最好的选择。在我的示例中,一个字段验证如何 我应该使用什么HTTP状态码进行昵称验证 例如,它已经存在 我认为这是一个合适的选择 409(冲突)状态代码表示请求无法执行 由于与目标的当前状态冲突而无法完成 资源。此代码用于用户可能需要的情况 能够解决冲突并重新提交请求。服务器 应该为用户生成包含足够信息的有效负载 认识到冲突的根源 用户1选择了一个用户名,用户2想要相同的用户
422
似乎是最好的选择。在我的示例中,一个字段验证如何
我应该使用什么HTTP状态码进行昵称验证
例如,它已经存在 我认为这是一个合适的选择 409(冲突)状态代码表示请求无法执行 由于与目标的当前状态冲突而无法完成 资源。此代码用于用户可能需要的情况 能够解决冲突并重新提交请求。服务器 应该为用户生成包含足够信息的有效负载 认识到冲突的根源 用户1选择了一个用户名,用户2想要相同的用户名,但不能,因为它与用户1的用户名冲突 或者不允许使用字符 对于这一点,正如你所提到的,似乎还可以 422(不可处理实体)状态代码表示服务器了解请求实体的内容类型(因此415(不支持的媒体类型)状态代码不合适),并且请求实体的语法正确(因此400(坏请求)状态代码不合适)但无法处理包含的指令。例如,如果请求体包含格式正确(即语法正确)但语义错误的指令,则可能出现此错误情况。
强调我的你确定是
422
?Wikipedia还说:“422不可处理实体(WebDAV;RFC 4918)请求格式正确,但由于语义错误而无法遵循。[4]。”对于错误,我会考虑一个正常的<代码> 200 OK <代码>,也许是代码> 401未经授权的< /代码>。哪些因素决定了昵称是否有效?@ Roal:如果不知道什么决定状态,你怎么想返回什么状态代码?@ Tim Castelijns,例如它已经存在或不允许。chars@TimCastelijns这只是一个猜测:“用户存在/验证正常”=200正常
,因为一切正常。“用户不存在/验证不正确”=401未经授权
,因为授权过程失败或根本没有发生。当然,正如我所说,这只是一个疯狂的猜测,是什么突然出现在我的脑海里。给出下面的答案,我显然没有和OP一样的想法。