本技能用于掌握 REST 与 GraphQL 的 API 设计原则,帮助构建直观、可扩展、易维护的 API。适用于:设计新的 REST 或 GraphQL API;重构现有 API 以提升易用性;为团队制定 API 设计标准;在实现前评审 API 规格;在 API 范式之间迁移(如 REST 到 GraphQL);编写开发者友好的 API 文档;针对移动端、第三方集成等场景优化 API。
主要能力包括:REST 资源导向设计(资源用名词,用 HTTP 方法表示动作,URL 表达资源层级,统一命名),HTTP 方法语义(GET 幂等安全、POST 创建、PUT 整体替换且幂等、PATCH 部分更新、DELETE 幂等);GraphQL Schema 先行开发(用类型定义领域模型,Query 读、Mutation 写、Subscription 实时更新,单端点多操作,强类型 Schema,内置内省)。
版本化策略给出 URL 版本化(/api/v1/users、/api/v2/users)、Header 版本化(Accept: application/vnd.api+json; version=1)、查询参数版本化(/api/users?version=1)。REST 模式覆盖资源集合设计、分页与过滤(page、page_size、total、pages 等字段及 FastAPI 示例)、错误处理与状态码(200、201、204、400、401、403、404、409、422、500 与统一错误响应)、HATEOAS 超媒体链接。GraphQL 模式覆盖 Schema 设计(Relay 风格游标分页、枚举、自定义标量与输入输出类型)、Resolver 设计与 DataLoader 解决 N+1 问题。
最佳实践:REST 建议统一命名、无状态、正确使用状态码、从第一天规划版本、分页、限流、OpenAPI/Swagger 文档;GraphQL 建议 Schema 先行、避免 N+1、输入校验、结构化错误、游标分页、@deprecated 渐进迁移、监控查询复杂度。常见陷阱包括过度/不足获取、破坏性变更、错误格式不一致、缺少限流、文档缺失、忽视 HTTP 语义、与数据库结构紧耦合。资源含 references、assets 与 scripts 等文件。具体安装命令与收费方式资料暂未提供。