我正在构建一个API,其中一个端点是关于公司的昵称验证。我阅读了很多关于HTTP状态代码的内容,而实体验证[ 5.93742471e-01 4.06257529e-01 ...]
似乎是最好的选择。如我的例子中的一个字段验证怎么样?
答案 0 :(得分:2)
我应该使用什么HTTP状态代码进行昵称验证?
例如它已经存在
我认为409 Conflict是一个合适的选择
409(冲突)状态代码表示请求不能 由于与目标的当前状态发生冲突而完成 资源。此代码用于用户可能的情况 能够解决冲突并重新提交请求。服务器 应该生成一个包含足够用户信息的有效负载 认识到冲突的根源。
用户1选择了用户名,用户2想要相同但不能,因为与用户1的用户名冲突
或者不允许使用字符
为此,您提到的422 Unprocessable Entity似乎没问题。
422(不可处理实体)状态代码表示服务器了解请求实体的内容类型(因此415(不支持的媒体类型)状态代码不合适),并且语法请求实体是正确的(因此400(错误请求)状态代码是不合适的)但无法处理包含的指令。例如,如果请求正文包含格式正确(即语法正确)但语义错误的指令,则可能会出现此错误情况。
强调我的