Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 我应该使用什么HTTP状态码进行昵称验证?_Validation_Api_Rest_Standards - Fatal编程技术网

Validation 我应该使用什么HTTP状态码进行昵称验证?

Validation 我应该使用什么HTTP状态码进行昵称验证?,validation,api,rest,standards,Validation,Api,Rest,Standards,我正在构建一个API,其中一个端点是关于公司的昵称验证。我读了很多关于HTTP状态码的书,对于实体验证来说,422似乎是最好的选择。在我的示例中,一个字段验证如何 我应该使用什么HTTP状态码进行昵称验证 例如,它已经存在 我认为这是一个合适的选择 409(冲突)状态代码表示请求无法执行 由于与目标的当前状态冲突而无法完成 资源。此代码用于用户可能需要的情况 能够解决冲突并重新提交请求。服务器 应该为用户生成包含足够信息的有效负载 认识到冲突的根源 用户1选择了一个用户名,用户2想要相同的用户

我正在构建一个API,其中一个端点是关于公司的昵称验证。我读了很多关于HTTP状态码的书,对于实体验证来说,
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一样的想法。