如何设计API返回码
HTTP 状态码参考
2XX 状态码,比如 200-> 请求成功,
5XX 状态码,比如 502-> 服务器异常,通常就是服务没正常运行,或者代码执行出错
通过状态码即可初步判断问题原因,HTTP 状态的设计思路值得借鉴。
比方说 20000-29999 表示订单创建失败:
- 20001,订单创建失败,存在进行中的订单
- 20002,订单创建失败,上一个订单正在排队创建中
这两种错误情况如果是给用户看,可能就只有一句话可以看到:很抱歉,您有一个正在进行中的订单,请到我的订单列表中处理。
对于 API 来说,返回的信息必须是准确的,但用户看到的就必须转译,这个转译的工作调用方可以做,但是通常 API 提供者来提供个性化的 Message 能力会更好
我们可以把转译的消息配置到数据库,并缓存到 Redis 或者 API 本机