如何让接口写得更优雅

总目标:安全性,扩展性,稳定性,追溯性,幂等性等等

  1. 签名:对外提供的接口要做验证签名,认证不通过就不允许访问接口或服务等等。
  2. 加密:接口数据在网络空间传输需要进行加密。
  3. IP黑白名单:鉴别请求接口的IP地址,在网关层进行处理,只允许白名单通过或是限制黑名单访问等等。
  4. 限流:尤其考虑到对外服务的接口,无法预估到调用频率(或是按照业务统计出高峰等等),应该要对服务进限流,保证服务的正常运行。
  5. 参数校验:后端要对接口进行规范,一定要做好参数的校验,不能信赖依靠前端的校验来解决。
  6. 统一返回值:一个服务或是一套系统,都应该规范好数据的传参和返回值。
  7. 统一异常封装:系统报错时,应该给友好的提示,避免把报错信息暴露给用户端。
  8. 幂等设计:对于接口涉及到数据一致性问题,一定要考虑好是否要对接口进行幂等处理,防止数据重放。
  9. 请求日志:要添加上日志信息,可以快速定位排查问题。
  10. 限制批量条数:对于批量操作的接口,一定要对其进行条数限制,避免出现网络超时,内存溢出泄露等等问题。
  11. 异步处理:如果同步调用接口消耗时非常大,对于这种情况,可以考虑把非必要业务进行剥离放在异步进行处理。
  12. 数据脱敏:在业务里需要对敏感数据(身份证,手机号等等)进行处理脱敏处理存库或是打印日志,保证数据的安全性。
  13. 压测:如接口的QPS预测非常高,需要对接口进行压测,评估服务器性能是否能达到要求,并出异常时处理方案等等。
  14. 要完整的接口文档
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江边小子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值