用途:提供一套与框架无关的 REST API 设计原则,用于设计端点、错误响应、分页、版本与整体 API 结构时参考。
主要能力:资源命名(集合用复数名词、小写连字符、嵌套最多两层、过滤排序分页用查询参数、无动词仅在动作无法归入 CRUD 时使用);版本控制(在 URL 路径中放 /api/v1、/api/v2,避免放请求头或查询参数,并给出 v1Routes/v2Routes 与 app.register 前缀示例);错误响应(RFC 7807 Problem Detail,含 type、status、title、detail、instance、traceId,并给出 AppError 基类与 NotFoundError、ConflictError、ServiceUnavailableError 等子类);游标分页(limit/cursor、nextCursor、hasMore,实现取 limit+1 判断 hasMore,并对比 offset 分页的不稳定与性能问题);过滤与排序(sort=-createdAt 前缀表示降序);HTTP 状态码(200/201/204、400/401/403/404/409/422/429、500/503);响应包装(简单 CRUD 直接返回资源,仅分页用信封);时间戳统一 ISO 8601 与 toISOString();幂等键用于 POST、PATCH 等非幂等操作。
使用方式:按上述模式应用到具体框架;资料中的示例使用 FastifyInstance 与 Drizzle 风格查询,仅为示意。参考资料见 references/error-responses.md(更完整的错误处理示例)。
适用场景:设计或评审 REST API 的端点结构、错误格式、分页与版本策略。
限制:资料未提供安装命令、依赖、运行步骤或价格信息;示例代码为片段,需按自身技术栈适配。