关于 openapi-to-application-code
根据 OpenAPI 规范生成完整应用代码的开发技能,适用于需要从 API 定义创建项目的开发者。它涵盖规范分析、分层架构、代码与测试生成,以及文档和配置文件。
主要功能
- 01分析端点、数据模型与安全方案
- 02生成项目结构、控制器和服务层
- 03生成模型、数据访问层和配置
- 04添加测试、文档及示例请求
适用场景
- 01从 OpenAPI 规范创建应用骨架
- 02为已有 API 定义生成控制器和模型
- 03补齐测试、运行说明与示例请求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill openapi-to-application-code安装后在 Claude Code 中输入/openapi-to-application-code确认已加载。
详细介绍
根据 OpenAPI 规范生成应用
你的目标是使用当前框架的约定和最佳实践,根据 OpenAPI 规范生成一个完整、可运行的应用。
输入要求
-
OpenAPI 规范:提供以下任一内容:
- OpenAPI 规范的 URL(例如
https://api.example.com/openapi.json) - OpenAPI 规范的本地文件路径
- 直接粘贴完整的 OpenAPI 规范内容
- OpenAPI 规范的 URL(例如
-
项目详情(如果规范中未包含):
- 项目名称和描述
- 目标框架和版本
- 包/命名空间命名约定
- 身份验证方法(如果 OpenAPI 中未指定)
生成流程
第 1 步:分析 OpenAPI 规范
- 验证 OpenAPI 规范的完整性和正确性
- 识别所有端点、HTTP 方法、请求/响应 schema
- 提取身份验证要求和安全方案
- 记录数据模型关系和约束
- 标记任何歧义或不完整的定义
第 2 步:设计应用架构
- 规划适合该框架的目录结构
- 按资源或领域识别 controller/handler 分组
- 为业务逻辑设计服务层组织
- 规划数据模型和实体关系
- 设计配置和初始化策略
第 3 步:生成应用代码
- 创建项目结构以及构建/包配置文件
- 根据 OpenAPI schema 生成 models/DTO
- 生成带路由映射的 controllers/handlers
- 生成带业务逻辑的服务层
- 如适用,生成 repository/数据访问层
- 添加错误处理、验证和日志记录
- 生成配置和启动代码
第 4 步:添加支持文件
- 为服务和 controllers 生成适当的单元测试
- 创建包含设置和运行说明的 README
- 添加 .gitignore 和环境配置模板
- 生成 API 文档文件
- 创建示例请求/集成测试
输出结构
生成的应用将包含:
project-name/
├── README.md # Setup and usage instructions
├── [build-config] # Framework-specific build files (pom.xml, build.gradle, package.json, etc.)
├── src/
│ ├── main/
│ │ ├── [language]/
│ │ │ ├── controllers/ # HTTP endpoint handlers
│ │ │ ├── services/ # Business logic
│ │ │ ├── models/ # Data models and DTOs
│ │ │ ├── repositories/ # Data access (if applicable)
│ │ │ └── config/ # Application configuration
│ │ └── resources/ # Configuration files
│ └── test/
│ ├── [language]/
│ │ ├── controllers/ # Controller tests
│ │ └── services/ # Service tests
│ └── resources/ # Test configuration
├── .gitignore
├── .env.example # Environment variables template
└── docker-compose.yml # Optional: Docker setup (if applicable)
应用的最佳实践
- 框架约定:遵循框架特定的命名、结构和模式
- 关注点分离:通过 controllers、服务和 repositories 实现清晰分层
- 错误处理:全面的错误处理并提供有意义的响应
- 验证:全程进行输入验证和 schema 验证
- 日志记录:用于调试和监控的结构化日志记录
- 测试:为服务和 controllers 编写单元测试
- 文档:内联代码文档和设置说明
- 安全:根据 OpenAPI 规范实现身份验证/授权
- 可扩展性:设计模式支持增长和维护
后续步骤
生成后:
- 检查生成的代码结构,并按需进行自定义
- 根据框架要求安装依赖项
- 配置环境变量和数据库连接
- 运行测试以验证生成的代码
- 启动开发服务器
- 使用提供的示例测试端点
如有需要应询问的问题
- 应用是否应包含数据库/ORM 设置,还是仅使用内存/模拟数据?
- 你是否需要用于容器化的 Docker 配置?
- 身份验证应使用 JWT、OAuth2、API keys,还是 basic auth?
- 你需要集成测试,还是仅需要单元测试?
- 是否有特定的数据库技术偏好?
- API 是否应包含分页、过滤和排序示例?
评论
支持 Markdown