# Change: 服务启动时自动生成OpenAPI文档 ## Why 当前项目已经实现了OpenAPI文档生成功能,但需要手动执行 `make docs` 命令才能生成文档文件。这导致以下问题: - 部署服务时容易忘记生成文档,导致文档与实际API不同步 - 开发过程中需要频繁手动执行命令来更新文档 - 无法保证文档与当前运行服务的API定义完全一致 通过在服务启动时自动生成OpenAPI文档,可以确保文档始终与当前服务保持同步,提升开发和部署体验。 ## What Changes - 在 `cmd/api/main.go` 的初始化流程中添加OpenAPI文档自动生成功能 - 将文档输出到项目根目录的固定位置(`./openapi.yaml`) - 生成失败时记录错误日志但不影响服务启动 - 复用现有的文档生成逻辑(`pkg/openapi/` 和 `internal/routes/` 的Registry机制) - 移除或保留 `cmd/gendocs/main.go` 作为备用工具(供离线生成文档使用) ## Impact ### Affected specs - **NEW**: `openapi-generation` - 新增OpenAPI文档自动生成规范 ### Affected code - `cmd/api/main.go` - 添加文档生成调用 - 可能需要提取 `cmd/gendocs/main.go` 中的生成逻辑为可复用函数 - 无需修改现有的 `pkg/openapi/generator.go` 和 `internal/routes/registry.go` ### Breaking changes 无破坏性变更。现有的手动生成方式(`make docs`)仍然可以使用。