Http 响应码的问题应该怎么选择?-灵析社区

劳资最帅

一般来说 如果业务逻辑失败 比如登录的账号或者密码错误 那么 `http` 应该响应 `500` 还是`200` ? 那么其他业务情况呢 比如 输入的参数有误 或者预期有数据但实际没数据 应该用什么样的响应码?

阅读量:19

点赞量:0

问AI
我比较倾向于把业务的错误融合到HTTP状态码里面。 比如帐号错误密码错误,应该返回401。 程序上的异常(影响到前端流程、数据库连接异常、文件权限异常),要返回500。 其他业务逻辑上的问题、异常,和正常情况一样,都返回200。 参数有误,应该要返回400。 在响应体里面,也需要有响应码,这个响应码就和业务逻辑有关。 比如会返回这样的响应码: 1001 密码错误 1002 验证码错误 1003 缺少XX必传参 1003 XXX不存在 *** 好处是 加了HTTP状态码之后,就可以在网关日志里面根据HTTP状态码统计接口异常情况。 坏处是 前端除了需要判断响应体里面的状态码,还需要判断HTTP状态码。