🚀 OpenAPI/Swagger 接口文档自动生成器

基于 OpenAPI 3.1 标准的端到端研发自动化系统

Version 1.0.0 | 2026-03-18

开始探索 下载源码

📋 系统概述

本系统是一个完整的端到端研发自动化平台,实现从需求分析到生产部署的全流程自动化。核心功能是基于 OpenAPI/Swagger 标准自动生成接口文档,并支持多语言代码生成、测试用例生成、CI/CD 集成等功能。

80% 效率提升
5+ 语言支持
100% OpenAPI 3.1 兼容
24/7 自动化运行

核心价值

⚡ 核心功能

📄

PRD 智能解析

自动解析 Markdown/文本格式的 PRD 文档,使用 NLP 技术提取用户故事和功能需求,识别数据实体和 API 端点。

  • Markdown 章节自动分割
  • 用户故事识别提取
  • 数据模型自动构建
  • API 端点智能推断
🔧

OpenAPI 生成

构建符合 OpenAPI 3.1 规范的完整文档,支持多种认证方式,自动生成 Schema 定义。

  • OpenAPI 3.1 完整支持
  • JWT/OAuth2/API Key 认证
  • JSON/YAML双格式输出
  • Swagger UI 集成
💻

多语言代码生成

根据 OpenAPI 规范自动生成多语言代码骨架,包含完整的 CRUD 操作。

  • Spring Boot (Java)
  • FastAPI/Flask (Python)
  • NestJS/Express (Node.js)
  • React + TypeScript
🧪

测试用例生成

自动生成单元测试、集成测试和 Postman 集合,确保代码质量。

  • Pytest/JUnit/Jest测试
  • 集成测试骨架
  • Postman 集合导出
  • Mock 数据生成
🔄

CI/CD Pipeline

完整的 Jenkins Pipeline 配置,支持自动化构建、测试、部署全流程。

  • 代码质量检查
  • 自动化测试执行
  • Docker 镜像构建
  • K8S 自动部署
☸️

K8S 部署配置

完整的 Kubernetes 部署配置,支持多环境、自动扩缩容、监控告警。

  • Deployment/Service/Ingress
  • HPA 自动扩缩容
  • Prometheus 监控
  • 多环境隔离

🏗️ 架构设计

用户界面层
Web/CLI/API
API Gateway
负载均衡/认证
PRD 解析服务
OpenAPI 生成
代码生成
测试生成
数据存储层
PostgreSQL + Redis

分层架构

层级 职责 技术选型
表现层 Web UI、CLI、API React、FastAPI、Click
网关层 路由、认证、限流 Nginx、Kong
业务层 核心业务逻辑 Python、Java
数据层 持久化存储 PostgreSQL、Redis
基础设施层 容器、编排、监控 Docker、K8s、Prometheus

🔨 核心模块

1. PRD 解析器 (prd_parser.py)

功能: 解析 Markdown/文本格式的 PRD 文档,提取用户故事和功能需求

from src.prd_parser import PRDParser

parser = PRDParser()
with open('prd.md', 'r') as f:
    prd_text = f.read()

result = parser.parse_markdown(prd_text)
openapi_spec = parser.generate_openapi_from_prd()

2. OpenAPI 生成器 (openapi_generator.py)

功能: 构建符合 OpenAPI 3.1 规范的文档

from src.openapi_generator import OpenAPIGenerator, APIEndpoint

generator = OpenAPIGenerator(title="My API", version="1.0.0")
generator.add_server("https://api.example.com/v1", "Production")
generator.add_schema("User", {"type": "object", ...})
generator.add_endpoint(APIEndpoint(path="/users", method="GET", ...))
generator.save_to_file('output/api_spec.json')

3. 代码生成器 (code_generator.py)

功能: 根据 OpenAPI 规范生成多语言代码

from src.code_generator import CodeGenerator

code_gen = CodeGenerator(spec, output_dir='./generated')
code_gen.generate_spring_boot(base_package="com.example.api")
code_gen.generate_fastapi()
code_gen.generate_react_typescript()

4. 测试生成器 (test_generator.py)

功能: 自动生成单元测试和集成测试

from src.test_generator import TestGenerator

test_gen = TestGenerator(spec, output_dir='./tests')
test_gen.generate_pytest_tests()
test_gen.generate_junit_tests()
test_gen.generate_postman_collection()

🛠️ 技术栈

后端技术

技术版本用途
Python3.12主要开发语言
FastAPI0.109+Web 框架
SQLAlchemy2.0+ORM
Pydantic2.5+数据验证

前端技术

技术版本用途
React18.xUI 框架
TypeScript5.x类型系统
Ant Design5.xUI 组件库
Axios1.xHTTP 客户端

基础设施

技术版本用途
Docker24.x容器化
Kubernetes1.29+容器编排
Jenkins2.4xxCI/CD
PostgreSQL16.x数据库
Redis7.x缓存

🚀 部署方案

CI/CD Pipeline 流程

Stage 1: 准备阶段

拉取最新代码,显示 Git 提交信息,初始化构建环境

Stage 2: 代码质量检查

SonarQube 分析、安全扫描、代码风格检查

Stage 3: 单元测试

执行 Pytest/JUnit/Jest测试,生成覆盖率报告

Stage 4: 集成测试

执行 API 集成测试和 Postman 集合测试

Stage 5: Docker 镜像构建

多阶段构建优化镜像大小,推送到镜像仓库

Stage 6: K8S 部署

应用 Kubernetes 配置,滚动更新,健康检查

Kubernetes 资源配置

开发环境: 2 副本,CPU 250m-1000m,内存 512Mi-1Gi

生产环境: 3-20 副本(自动扩缩容),CPU 4-8 Core,内存 8-16Gi

📖 使用指南

环境要求

  • Python 3.10+
  • Node.js 18+ (可选)
  • Java 17+ (可选)
  • Docker 20+ (可选)

快速开始

# 1. 克隆项目
git clone https://github.com/example/openapi-generator.git
cd openapi-generator

# 2. 安装依赖
pip install -r requirements.txt

# 3. 运行生成器
python src/openapi_generator.py

# 4. 查看生成的文档
open output/api_spec.json

命令行工具

# 从 PRD 生成 API
python -m src.cli generate-from-prd --input prd.md --output api.json

# 生成代码
python -m src.cli generate-code --input api.json --output ./src --lang python

# 生成测试
python -m src.cli generate-tests --input api.json --output ./tests

# 验证 OpenAPI 规范
python -m src.cli validate --input api.json

📁 文件清单

openapi_generator/
├── src/
│ ├── openapi_generator.py  # OpenAPI 生成器核心
│ ├── code_generator.py  # 多语言代码生成器
│ ├── prd_parser.py  # PRD 文档解析器
│ └── test_generator.py  # 测试用例生成器
├── tests/
│ └── [测试代码目录]
├── templates/
│ └── [代码模板目录]
├── config/
│ └── [配置文件目录]
├── ci_cd/
│ └── Jenkinsfile  # CI/CD Pipeline 配置
├── docker/
│ ├── Dockerfile  # Docker 镜像配置
│ └── entrypoint.sh  # 容器入口脚本
├── k8s/
│ ├── dev/
│ │ ├── deployment.yaml  # K8S Deployment
│ │ ├── service.yaml  # K8S Service
│ │ ├── ingress.yaml  # K8S Ingress
│ │ └── hpa.yaml  # 自动扩缩容配置
│ ├── staging/
│ └── production/
├── docs/
│ ├── SYSTEM_ARCHITECTURE.md  # 系统架构文档
│ └── USER_GUIDE.md  # 用户使用指南
└── README.md

产物列表

📄 源代码文件

  • openapi_generator.py
  • code_generator.py
  • prd_parser.py
  • test_generator.py

⚙️ 配置文件

  • Jenkinsfile
  • Dockerfile
  • entrypoint.sh
  • K8S YAML 配置

📚 文档文件

  • SYSTEM_ARCHITECTURE.md
  • USER_GUIDE.md
  • HTML 可视化报告