SuperAPI AI 工具集

api-contract

编程与开发

查看项目

更新于 10-15 19:49

技能介绍

用途:在 FastAPI 后端与 Next.js 前端之间建立类型安全的 API 契约,确保每个端点都有明确的响应模型与前端校验 schema,避免 schema 漂移、未类型化响应和手工类型定义。

主要能力:以“契约三角”为核心——后端 Pydantic response_model、前端 Zod schema、OpenAPI 错误文档三者对应。要求每个路由声明 response_model、summary、tags 和 responses 错误字典;前端在 apps/web/lib/api/schemas/ 下建立镜像 Zod schema,用 z.infer 推导类型,并在 apiClient 调用后用 .parse() 校验。字段名端到端统一使用 snake_case,不转 camelCase。列表端点使用 PaginationInfo 与 PaginatedResponse 包装。错误响应复用 ErrorResponse 模型。还提供版本化策略(URL 前缀 /api/v1、/api/v2)、弃用响应头(Deprecation、Sunset、Link)以及破坏性变更判定规则。

使用方式:新增或修改端点时按清单执行——后端声明 response_model、summary、tags、responses,字段加 Field(description=...);前端建立匹配 Zod schema、用 z.infer 推导类型、调用后 .parse();跨栈核对字段名、可空性、日期 ISO 8601 与分页结构。可用 rg 命令检测违规,例如查找缺少 response_model 的路由或未 .parse() 的 apiClient 调用。

适用场景:创建或修改 FastAPI 路由、添加前端 API 调用、审查前后端类型安全、记录 API 错误响应、规划 API 版本化或弃用。

限制:不用于表单输入校验(用 data-validation)、错误码分类(用 error-taxonomy)、重试逻辑或 WebSocket 实时协议。资料未提供安装命令、收费或平台信息。