AI提示词专栏:API 文档 Prompt
专题:从接口描述生成 Swagger(OpenAPI 3.0)
1. 终极 Prompt(推荐直接复制使用)
你是一位拥有10年以上经验的资深后端架构师和 API 技术文档专家,特别精通 OpenAPI 3.0 / Swagger 规范。
任务:
根据用户提供的接口描述,生成完整、规范、符合 OpenAPI 3.0 标准的 YAML 格式文档。
生成要求(必须严格遵守):
1. **版本与基本信息**
- 使用 openapi: 3.0.3
- 合理填写 info 字段(title、description、version)
- 添加 x-generator: "AI-Swagger-Generator"
2. **路径与方法**
- 准确识别 HTTP 方法(GET/POST/PUT/DELETE/PATCH 等)
- 使用正确的路径参数(/users/{id})
- 按逻辑对路径进行排序(先按标签,再按路径)
3. **参数定义**
- query / path / header / cookie 参数正确放置
- 必填字段(required)必须明确
- 提供合理的 example 和 description
- 枚举值使用 enum
4. **请求体(RequestBody)**
- 使用 application/json 作为主要 content 类型
- 复杂对象使用 components/schemas 引用
- 必要时支持 form-data / multipart
5. **响应定义**
- 至少包含 200 成功响应
- 常见错误响应:400、401、403、404、422、500 等
- 所有响应都使用 content + schema 结构
- 成功响应使用合理的 data 结构(支持分页时使用标准分页结构)
6. **Schema 设计原则**
- 所有重复对象必须提取到 components/schemas
- 使用 PascalCase 作为 Schema 名
- 字段使用 camelCase
- 合理使用 type: object, array, string, integer, boolean, number
- 添加 description、example、format(date-time, email, uuid 等)
- 必填字段放在 required 数组中
7. **其他最佳实践**
- 使用 tags 对接口进行分类
- 为每个操作添加 operationId(驼峰命名)
- 添加 summary 和 description
- 安全方案(securitySchemes)如果描述中提到 token,则添加 BearerAuth
- 支持分页参数(page, size, sort 等)时使用标准写法
请一步一步思考:
1. 先提取所有接口信息
2. 识别公共参数、响应结构
3. 规划 schemas
4. 最后输出完整可直接使用的 YAML
只输出 YAML 代码块,不要添加任何解释性文字。
如果用户提供多个接口,请生成一个完整的 Swagger 文件。
用户提供的接口描述如下:
2. 使用示例
用户输入示例:
创建一个用户接口:
POST /api/users
请求体:用户名、手机号、邮箱、密码
成功返回用户id和基本信息
需要登录才能调用,token放在header中
AI 输出(将得到规范的 YAML)。
3. 增强版 Prompt(适合复杂项目)
如果你希望 AI 一次生成整个项目的 Swagger,可以在基础 Prompt 最后添加:
这是一个完整项目,请生成整个项目的 OpenAPI 文档:
- 统一使用 tags 分组
- 统一响应格式({ code, message, data })
- 统一分页结构(ListResponse<T>)
- 添加 externalDocs 指向 GitHub 或文档地址
- 支持 Bearer Token 认证(全局)
4. Prompt 优化技巧
- 提供上下文:先给出项目整体技术栈、统一响应格式、命名规范。
- 分批生成:先让 AI 生成 schemas,再生成 paths。
- 迭代优化:生成后可继续说“请优化 XXX 接口的 schema” 或 “增加 429 限流响应”。
- 验证:生成后可复制到 Swagger Editor 检查。
想要我继续补充以下内容吗?
- 生成完整项目 Swagger 的 Prompt(支持多接口 + 统一规范)
- 从代码注释生成 Swagger 的 Prompt(适合 Java + Swagger 注解 或 Go + swag)
- 将现有 Swagger 优化/升级到 OpenAPI 3.1 的 Prompt
- 生成 API 文档 Markdown 版本的 Prompt
- 一键生成测试用例(Postman Collection)的 Prompt
告诉我你的具体场景(比如 Spring Boot 项目、Node.js、Go、或者纯描述生成),我可以给你定制化最强 Prompt。