用途:为设计一致且开发者友好的 REST API 提供规范与最佳实践,适用于新建端点、审查 API 合约、添加分页过滤排序、实现错误处理、规划版本控制,以及构建公开或面向合作伙伴的 API。
主要能力:资源命名采用名词、复数、小写、kebab-case,区分关系子资源与非 CRUD 动词操作;HTTP 方法与状态码语义参考(GET/POST/PUT/PATCH/DELETE 的幂等性与安全、200/201/204、400/401/403/404/409/422/429、500/502/503)。响应格式包含成功、集合分页与错误响应的标准结构与可选封装;分页支持基于偏移量(简单、可跳页,大偏移性能差)与基于游标(可扩展、并发稳定,无法跳任意页);过滤支持等值、比较运算符、多值与点标记嵌套字段,排序支持多字段与前缀降序,另有全文搜索与稀疏字段集。
使用方式:通过 URL 路径版本控制(如 /api/v1/)或标头版本控制;认证使用 Authorization: Bearer 与 X-API-Key;授权分资源级所有权检查与基于角色检查;速率限制通过 X-RateLimit-* 标头与 429、Retry-After 响应报头,并提供匿名、认证、高级、内部四个分级示例。
限制:资料为设计规范与模式说明,未提供具体库的安装命令或部署步骤;代码示例仅作实现模式参考,部分内容涉及 TypeScript、Python、Go 等不同技术栈,需按实际环境调整。分页、过滤、版本控制等策略的具体取舍需结合实际数据规模与公开程度判断。