限流被触发时的返回约定
收录 2026-10
被限流时只返回一个 429,客户端不知道该等多久,补齐响应头与语义
接口 [接口名] 被限流时目前只返回一个 429,没有告诉客户端等多久、额度还剩多少。请定一套限流响应约定:状态码与响应体、剩余额度与重置时间的响应头、不同限流维度(用户、IP、应用)的表达,以及客户端应有的退避行为。输出:约定文档、服务端实现要点、给接入方的示例与建议。
本站原创
中文原文
使用示例
示例输入
下单接口被限流只返一个 429,没告诉客户端等多久,补齐响应头与语义约定。
输出应包含
- 给出状态码与响应体的结构
- 剩余额度与重置时间的响应头
- 说清不同限流维度与退避行为
复制前替换这些占位符 1
把方括号里的内容换成你的具体信息,替换后再粘贴给 AI。
[接口名]
使用建议
响应头的重置时间基于服务端时钟,要一并返回当前时间或改用相对秒数。
可以这样改
- 要求它先复述需求与约束,确认无误再写代码。
- 让它给出最小改动 + 回滚方式,而不是整文件重写。
交付物(这次应拿到什么)
- 可运行的最小改动(含直接可用的代码块)
- 影响面清单:改了哪些文件、哪些调用点要跟着改
常见错法
- 一次让它改十个文件,最后分不清哪处改动导致了新问题。
- 只贴报错不贴代码和版本,拿到无法落地的修法。
输出验收(怎么判断能用)
- 改动可运行、可回滚,且没顺手改无关代码。
- 边界条件(空值、超长、并发)有说明或测试。
适用场景与注意
- 适合:让它先复述需求和约束,再给最小可运行改动。
- 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。