API|99%后端程序员都知道的接口开发规范

1. 签名 对外提供的接口要做签名认证,认证不通过的请求不允许访问接口、提供服务。
2. 加密 敏感数据在网络传输过程中应该加密
3. Ip白名单
限制请求的 IP,增加 IP 白名单,一般在网关层处理。
4. 限流 尤其是对外提供的接口,无法保障调用的频率,应该做限流处理,保障接口服务正常提
供服务。
5. 参数校验 即使前端做了非空,规范性校验,服务端参数校验仍然是非常必要的。
6. 统一返回值 一个服务一套同意的数据返回结果和传参规范
7. 统一异常封装
系统报错友好提示,避免暴露出 sql 异常的信息给调用方
8. 请求日志 记录系统产生的日志,方便快速定位分析问题
9. 幂等设计 对于一些涉及到数据一致性的接口一定要做好幂等设计,方式数据出现重复问题
10. 限制记录条数 对于对我提供的批量接口,一定要限制请求的记录条数。
11. 压测
上线前我们务必要对 API 接口做一下压力测试,知道各个接口的 qps 情况。 以便于我们能够更好的预估,需要部署多少服务器节点,对于 API 接口的稳定性至关
重要。
12. 异步处理
如果同步处理业务,耗时会非常长。这种情况下,为了提升 API 接口的性能,我们可以
改成异步处理。
13. 数据脱敏 关系到业务中用户的敏感数据要进行脱敏处理。
14. 完整的接口文档 a.接口文档中需要包含如下信息:
接口地址 请求方式,比如:post 或 get 请求参数和字段介绍 返回值和字段介绍 返回码和错误信息 加密或签名示例
完整的请求 demo
额外的说明,比如:开通 ip 白名单。 b.一个系统中的接口应该是统一的命名风格。
c.接口地址中可以加一个版本号 v1,比如:v1/query/getCategory,这样以后接口有很
大的变动,可以非常方便升级版本。

API|99%后端程序员都知道的接口开发规范_第1张图片

 

你可能感兴趣的:(电商API知识分享,数据挖掘,网络爬虫,大数据,网络)