5 个提高 API 接口健壮性的实战技巧——每个后端都该加
引言 你有没有遇到过这些线上事故: 用户连续点了两次"提交订单",结果创建了两个一样的订单 前端传了个 null 字段进来,接口直接 500 报错 不同的异常返回不同格式的错误信息,前端对接痛不欲生 上线一个新版本接口,老版本直接挂了 这些问题不是什么高深的技术难题,而是接口健壮性没做好。本文分享 5 个实战技巧,每个都有完整代码,直接抄进你的项目就能用。 一、接口幂等性:防止重复提交 1.1 问题场景 用户点击"提交订单" → 网络抖动,响应慢 → 用户又点了一次 → 创建了两个相同订单 或者更隐蔽的:支付回调重试机制触发,同一笔支付扣了两次款 1.2 方案设计 核心思路:每次请求携带唯一标识(幂等 Key),服务端用 Redis 记录该 Key 是否已处理过。 第一次请求: Client → 带 IdempotentKey=abc123 → Server Server → Redis 查 abc123 → 不存在 → 处理业务 → 存入 Redis Server → 返回正常结果 第二次请求(重复): Client → 带 IdempotentKey=abc123 → Se....