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