没有接口文档怎么用CodeBuddy反向生成OpenAPI契约

2026-07-09AI278716

CodeBuddy支持从TypeScript接口反向生成OpenAPI Schema片段并注入完整openapi.yaml:1.在TS文件中右键interface选择“生成OpenAPI Schema”得YAML片段;2.用CLI命令或AI指令将其注入components.schemas并关联路径;3.通过Swagger Editor和swagger-cli验证可用性。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在没有现成接口文档的情况下,仅凭已有 TypeScript 类型定义快速产出可交付的 OpenAPI 3.0 契约,用于联调、Mock 或 Swagger UI 集成,但手动翻译 interface 到 YAML 容易漏字段、错嵌套、缺 example。

从 TS 接口反向生成 OpenAPI Schema 片段

这一步适用于前端已定义好响应模型、后端尚未提供文档的并行开发阶段,CodeBuddy 能把 type/interface 直接编译为标准 OpenAPI schema。

1、在 CodeBuddy 中打开包含目标接口类型的 TS 文件,例如 src/types/user.ts,滚动定位到 【UserDetailResponse】 interface 声明处。

2、将光标停在 interface 关键字上 → 右键 → 选择“生成 OpenAPI Schema”。

3、CodeBuddy 输出纯 YAML 片段,含 typepropertiesrequiredexample 字段,自动推导嵌套对象与数组结构;若字段带 JSDoc 注释(如 /** @example "admin@corp.com" */ email: string;),example 值会优先取注释中内容。

把 Schema 片段整合进完整 openapi.yaml

单个 interface 生成的是 schema 片段,不是完整文档。必须将其注入 components.schemas 并关联到路径定义,才能被 Swagger UI 识别。

方法一:CLI 手动注入

执行命令:codebuddy doc inject --schema user.yaml --target openapi.yaml --as UserDetailResponse

php获得文件的mime type类

php获得文件的mime type类

下载

该命令会查找 openapi.yaml 中的 components.schemas 节点,将 user.yaml 内容以 key UserDetailResponse 插入;【若 openapi.yaml 不存在,此命令会静默失败,不创建新文件】

方法二:AI 指令补全路径

在 CLI 交互模式下输入:“把以下 schema 作为 UserDetailResponse 加入 components.schemas,并为 GET /api/v1/users/{id} 添加 200 响应,content type 为 application/json,schema 引用 #/components/schemas/UserDetailResponse” → 粘贴上一步生成的 YAML 片段 → 等待输出完整 openapi.yaml。

验证生成结果是否可用

打开 Swagger Editor(editor.swagger.io),将生成的 openapi.yaml 全文粘贴进去。

检查三项:路径是否出现在左侧导航栏、响应体是否正确展开为树形结构、每个字段的 type 和 example 是否与 TS 原始定义一致。

如果某个嵌套字段显示为 object 且无法展开,说明其类型是未导出的内联 interface —— 需回到 TS 文件中,把该类型单独声明并 export。

执行 swagger-cli validate openapi.yaml,无报错即表示语法合规。

《没有接口文档怎么用CodeBuddy反向生成OpenAPI契约.doc》

下载本文的Word格式文档,以方便收藏与打印。