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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 20
随波逐流

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

9个月前 评论
wongvio (楼主) 9个月前

可以分不同类型的 exception

9个月前 评论
wongvio (楼主) 9个月前

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

9个月前 评论

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

9个月前 评论

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

9个月前 评论

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

9个月前 评论
ononl 9个月前
claystone (作者) 9个月前
sanders

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

file

9个月前 评论
wongvio (楼主) 9个月前
hhhhkkk 9个月前

file

9个月前 评论
wongvio (楼主) 9个月前
ononl 9个月前

这个看各家的规范了

http status code 不变

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

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

9个月前 评论

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

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

9个月前 评论
陈先生

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

9个月前 评论
aab

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

{
    "reason":"NOT_FOUND",
    "message":"user not found",
    "errors":[]
}
9个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!