大家是如何处理异常状态码的?

比如用户没有登录的时候,经常有 api 接口会返回 401 对吧(用户没登录什么额),虽然没啥影响,但是在控制台看着就很烦,所以你们是怎么处理的?或者大厂是怎么处理?就是 401(状态码就要有状态码的意义?),还是有什么别的方法优雅一点,手动 200 不错哈

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 20
随波逐流

用户又不盯着控制台 :see_no_evil:

1年前 评论
wongvio (楼主) 1年前

可以分不同类型的 exception

1年前 评论
wongvio (楼主) 1年前

公司统一就行 就怕这边 200 400 500 那边 100001 100002

1年前 评论

例如 BizException ApiRuntimeException 等等 根据需要自定义 每种异常处理方式也有所不同

1年前 评论

就状态码的 最好跟着 http 状态码走 !!!

1年前 评论

以前会分 http 状态码,业务状态码,现在一律 200 http 状态码,然后业务状态码,最终还是看你自己想用哪种。

1年前 评论
ononl 1年前
claystone (作者) 1年前
sanders

HTTP 状态标准还是要遵守的,我在这方面吃过亏。其他的业务状态可以放飞自我。借用老图:

file

1年前 评论
wongvio (楼主) 1年前
hhhhkkk 1年前

file

1年前 评论
wongvio (楼主) 1年前
ononl 1年前

这个看各家的规范了

http status code 不变

请求状态码分客户端错误 10000 - 19999, 服务端错误 20000 - 29999 (也可以改成 40000, 50000)

{error: 10000, message: “ok”}
{error: 20000, message: “服务器错误,或详细描述”}

1年前 评论

基本的状态码还是要有的,不如 400,401,403,500,201,204,200,剩下的可以用业务代码补充,如果是单纯的前后台分离,可以一律 200,由业务代码补充

这个没有什么标准,统一规范就行,不过如果是后端提供的服务,有其他应用调用,最好还是用 http 状态码,便于验证服务是否可用

1年前 评论

之前尝试过使用 http 状态码,但是前端不太喜欢,就改成了前端喜欢的样子,具体可以看下我的文章。

1年前 评论
aab

这个一直都是争议不断的一个话题,我们采用的方案是,尽量的符合 http code,然后使用 json 丰富信息,HTTP 也有标准的解决方案 RFC 7807 可以参照!

{
    "reason":"NOT_FOUND",
    "message":"user not found",
    "errors":[]
}
1年前 评论