SuperAPI AI 工具集

api-design-principles

编程与开发

查看项目

更新于 10-16 03:13

技能介绍

用途:帮助设计新的 REST 或 GraphQL API、重构既有 API、制定团队 API 设计规范、在实现前评审 API 规格、在 REST 与 GraphQL 之间迁移、编写开发者友好的文档,以及针对移动端或第三方集成优化 API。

主要能力:REST 部分强调资源导向架构,资源用名词、动作用 HTTP 方法(GET/POST/PUT/PATCH/DELETE),URL 表达层级并保持命名一致;给出分页与过滤(page、page_size、status、search 等参数与分页响应模型)、统一错误响应与状态码(200/201/204/400/401/403/404/409/422/500)、HATEOAS 链接设计。GraphQL 部分采用 schema 优先,定义类型、Query、Mutation、Subscription、枚举与自定义标量,使用 Relay 风格游标分页(edges、pageInfo、totalCount),在 mutation payload 中返回结构化错误,并用 DataLoader 批量加载避免 N+1。版本策略包括 URL 版本(/api/v1/users)、请求头版本(Accept: application/vnd.api+json; version=1)和查询参数版本(/api/users?version=1)。

使用方式:资料提供 FastAPI 与 Ariadne 的示例代码、schema.graphql 模板、DataLoader 实现,以及 references 下的 REST 最佳实践、GraphQL schema 设计、版本策略文档,assets 下的 REST/GraphQL 模板与设计检查清单,scripts/openapi-generator.py 可从代码生成 OpenAPI 规格。

适用场景:新 API 设计、API 评审、团队规范制定、REST 与 GraphQL 迁移、文档与分页/错误格式统一。

限制:资料未提供安装命令、收费方式、平台支持范围或具体效果数据;示例依赖 FastAPI、Pydantic、Ariadne、aiodataloader 等库,实际落地需自行确认环境与依赖。