• 请不要在回答技术问题时复制粘贴 AI 生成的内容
luxiaokuo
V2EX  ›  程序员

API 全局错误代码定义 ?

  •  
  •   luxiaokuo · Mar 27, 2019 · 3673 views
    This topic created in 2603 days ago, the information mentioned may be changed or developed.

    有没有统一的标准或者是规范呢 ?

    钉钉服务端 API 全局错误码:

    https://open-doc.dingtalk.com/microapp/faquestions/rftpfg

    12 replies    2020-10-28 15:26:38 +08:00
    reus
        1
    reus  
       Mar 27, 2019
    用数字的原因是,某一位或者几位可以表达多种选项,就好像某些产品的序列号的某几位代表生产厂、批号、日期等等

    HTTP 的状态码也是这样,前面一个数字是有个大致的意义的

    没有这种设计,又非要用数字状态码,还位数不一致,只能叫画虎不成反类犬

    既有 404,又有 4200010,这种就是垃圾接口
    chendy
        2
    chendy  
       Mar 27, 2019
    貌似没有啥标准,一下是个人观点:
    1,其实很多错误码并没有什么用,因为客户端一般也没有能力处理所有的异常情况…
    2,字符串常量做错误码可能更好…就不用查表了
    chinvo
        3
    chinvo  
       Mar 27, 2019 via iPhone
    可以考虑拿 http 错误码扩展,然后返回错误码的时候同时返回 human-friendly 的错误消息
    yc8332
        4
    yc8332  
       Mar 27, 2019
    自己定义,主要是开发人员的沟通,和前端或者 app
    1. 位数一致,一般某一位是区分模块的
    2. 多语言需求
    3. 特殊错误码,客户端需要处理(比如登录过期)
    reus
        5
    reus  
       Mar 27, 2019
    字符串是最直观的,出错时不用查表,要用时不用查表。如果要表示多种状况,用多个字段都比纯数字好
    TomVista
        6
    TomVista  
       Mar 27, 2019
    支持字符串,比较直观.
    avenger
        7
    avenger  
       Mar 27, 2019 via iPhone
    Varobjs
        8
    Varobjs  
       Mar 27, 2019 via Android
    这种位数不统一的好傻,总觉得全局错误码给内部开发用的,比如统一 6 位表示错误码,10 ****表示用户模块,20 ****表示订单模块。
    annielong
        9
    annielong  
       Mar 27, 2019
    错误代码可定是后台人员用啊,要不然还返回什么错误代码,直接返回错误信息的了
    hantsy
        10
    hantsy  
       Mar 27, 2019
    个人只用 Http Status Code,其它具体的信息在返回信息中提示,可以参考 Github API 设计。
    specita
        11
    specita  
       Mar 28, 2019
    错误码感觉大多数时候没啥用啊,除非调用方根据码来做不同的处理,一般看个 msg 就行了,一般就定义几个常用的错误码,不怎么去细分
    tty0
        12
    tty0  
       Oct 28, 2020
    有时候 Http 状态码是不够用的, 或者说无法表达更多的意思.
    举个例子: 假如用户没有登录然后去访问一些需要登陆才能获取的资源, 后端返回非 200http 状态码并提示 msg 内容为'未登录', 此时前端无法做更多操作, 他只能弹出 msg 使得用户自己去点击跳转登录页面. 如果加上自定义的'未登录'错误码, 前端查询错误码知道这个用户当前需要登录, 于是便自动跳转到相应的登陆页面. (一方面也和后端解耦, 因为后端不清楚登录页面的具体地址所以后端不应该写重定向. ), 用户状态为'未授权', '未验证' 的自定义错误码同理.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3081 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 00:02 · PVG 08:02 · LAX 17:02 · JFK 20:02
    ♥ Do have faith in what you're doing.