本技能聚焦 REST 与 GraphQL 的 API 设计原则,用于设计新 API、重构已有接口、制定团队标准、评审规范、迁移范式(如 REST 转 GraphQL)、编写文档以及面向移动端或第三方集成做优化。
主要能力:REST 方面涵盖资源导向架构(资源用名词、动作交给 HTTP 方法)、HTTP 方法语义、版本化策略(URL、请求头、查询参数)、集合与嵌套资源设计、分页与过滤、统一错误响应与状态码、HATEOAS。GraphQL 方面涵盖 schema 优先开发、类型与查询/变更/订阅结构、Relay 风格游标分页、resolver 设计、用 DataLoader 解决 N+1 问题、输入校验与结构化错误。
必要用法:先按 schema 或资源模型定义领域类型,再实现端点与解析逻辑;分页参数如 page、page_size 或游标 after;错误响应保持统一格式并映射正确的 HTTP 状态码;GraphQL 变更返回 payload 类型携带 errors 字段。资料中给出的 FastAPI 示例展示了分页端点与状态码字典,GraphQL 示例展示 schema、resolver 和 DataLoader 的写法。
适用场景:从零设计 REST/GraphQL API、统一团队接口规范、评审与迁移、为不同客户端优化。
限制:资料为设计原则与示例,未提供具体安装命令、收费信息、平台要求或性能数据;实际落地需结合所用框架自行调整。