一、前言

起初的想法是基于自己制定的规则整一套的状态码体系,可是后来发现,因为这套规则是自己制定的,应用范围非常有限,不具有通用性,会对新接触的人产生一定的理解和学习成本。而后,得到网上一些建议的启发,想到可以结合已得到大众认可且都熟悉的「HTTP状态码」来建立状态码体系。

二、设计方案

该状态码体系,主要分为以下两个部分组成:

  1. HTTP状态码(HTTP Status Code)
    这部分就是 Http Response 中的 status。主要用来标识与业务无关的情况,例如:参数校验错误(400)、请求资源不存在(404)、服务不可用(503)、服务内部错误(500)等。

  2. 自定义状态码(code)
    这部分存在于 Http Response 中的 Body 中。当 「HTTP状态码」为 200 的时候,自定义状态码才会被用到,TA主要用来标识接口在处理业务逻辑的时候是否会发生一些已知的业务逻辑异常,例如:库存不足、余额不足等。如下:

    // 成功
    Response:
    	status: 200
    	body: {"code": "000000", "msg": "成功", "data": …}
    ----------------------------------------------------------
    // 发生已知业务逻辑异常
    Response:
    	status: 200
    	body: {"code": "100010", "msg": "库存比不足", "data":null}
    

综上,只有 status == 200 且 code == 000000 我们才能确认接口成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐