用途:提供 REST API 设计的一致规范,覆盖资源命名、HTTP 方法、状态码、错误格式、分页、筛选排序、版本管理、请求响应头、OpenAPI 规范与限流策略。
主要能力:资源命名建议使用复数名词、kebab-case,关系最多嵌套 2 层,URL 中不出现动词。HTTP 方法明确幂等性与请求体,如 POST 创建返回 201 并带 Location 头,DELETE 返回 204。状态码覆盖 200、201、204、400、401、403、404、409、422、429、500;500 不暴露堆栈线索。错误格式统一为 error.code、message、details 字段级错误。分页优先游标分页(limit + cursor,游标为 base64 不透明串),简单场景用偏移分页。筛选排序支持 status、created_after、sort=-created_at,+total、search、fields 等查询参数。版本采用 URL 路径版本,规则包括不破坏已发布版本、新必填字段即新版本、Sunset 头加 6 个月通知、同时支持最多 2 个活跃版本。请求响应头涉及 Content-Type、Accept、Authorization、X-Request-Id、X-RateLimit-Limit/Remaining/Reset、Retry-After。OpenAPI 建议先写规范再实现,使用 $ref 复用 schema,为每个端点定义示例,用 oneOf/anyOf 表达多态响应,由规范生成客户端 SDK,在中间件中校验请求。限流按用户与端点施加,使用滑动窗口,返回 429 和 Retry-After,豁免健康检查与认证端点,并记录被限流请求用于滥用检测。
使用方式与适用场景:接口设计与评审时对照命名、方法、状态码、错误、分页、版本与限流条目;编写 OpenAPI 时参考给出的 paths 与 components 结构。
限制:资料未提供具体工具、依赖、安装命令、收费与效果数据;仅为设计约定,需结合具体技术栈落地。