1
reus 2019-03-27 16:09:17 +08:00
用数字的原因是,某一位或者几位可以表达多种选项,就好像某些产品的序列号的某几位代表生产厂、批号、日期等等
HTTP 的状态码也是这样,前面一个数字是有个大致的意义的 没有这种设计,又非要用数字状态码,还位数不一致,只能叫画虎不成反类犬 既有 404,又有 4200010,这种就是垃圾接口 |
2
chendy 2019-03-27 16:14:34 +08:00
貌似没有啥标准,一下是个人观点:
1,其实很多错误码并没有什么用,因为客户端一般也没有能力处理所有的异常情况… 2,字符串常量做错误码可能更好…就不用查表了 |
3
chinvo 2019-03-27 16:19:03 +08:00 via iPhone
可以考虑拿 http 错误码扩展,然后返回错误码的时候同时返回 human-friendly 的错误消息
|
4
yc8332 2019-03-27 16:19:41 +08:00
自己定义,主要是开发人员的沟通,和前端或者 app
1. 位数一致,一般某一位是区分模块的 2. 多语言需求 3. 特殊错误码,客户端需要处理(比如登录过期) |
5
reus 2019-03-27 16:21:49 +08:00
字符串是最直观的,出错时不用查表,要用时不用查表。如果要表示多种状况,用多个字段都比纯数字好
|
6
TomVista 2019-03-27 16:32:53 +08:00
支持字符串,比较直观.
|
7
avenger 2019-03-27 16:45:43 +08:00 via iPhone
|
8
Varobjs 2019-03-27 17:34:25 +08:00 via Android
这种位数不统一的好傻,总觉得全局错误码给内部开发用的,比如统一 6 位表示错误码,10 ****表示用户模块,20 ****表示订单模块。
|
9
annielong 2019-03-27 18:12:16 +08:00
错误代码可定是后台人员用啊,要不然还返回什么错误代码,直接返回错误信息的了
|
10
hantsy 2019-03-27 20:12:01 +08:00
个人只用 Http Status Code,其它具体的信息在返回信息中提示,可以参考 Github API 设计。
|
11
specita 2019-03-28 10:24:44 +08:00
错误码感觉大多数时候没啥用啊,除非调用方根据码来做不同的处理,一般看个 msg 就行了,一般就定义几个常用的错误码,不怎么去细分
|
12
ZeawinL 2020-10-28 15:26:38 +08:00
有时候 Http 状态码是不够用的, 或者说无法表达更多的意思.
举个例子: 假如用户没有登录然后去访问一些需要登陆才能获取的资源, 后端返回非 200http 状态码并提示 msg 内容为'未登录', 此时前端无法做更多操作, 他只能弹出 msg 使得用户自己去点击跳转登录页面. 如果加上自定义的'未登录'错误码, 前端查询错误码知道这个用户当前需要登录, 于是便自动跳转到相应的登陆页面. (一方面也和后端解耦, 因为后端不清楚登录页面的具体地址所以后端不应该写重定向. ), 用户状态为'未授权', '未验证' 的自定义错误码同理. |