1. 需求确认

2. 结构的一些变更
This commit is contained in:
2026-01-06 11:07:04 +08:00
parent e907315afa
commit 2d566a9820
18 changed files with 2210 additions and 111 deletions

46
cmd/gendocs/main.go Normal file
View File

@@ -0,0 +1,46 @@
package main
import (
"log"
"path/filepath"
"github.com/gofiber/fiber/v2"
"github.com/break/junhong_cmp_fiber/internal/bootstrap"
"github.com/break/junhong_cmp_fiber/internal/handler/admin"
"github.com/break/junhong_cmp_fiber/internal/routes"
"github.com/break/junhong_cmp_fiber/pkg/openapi"
)
func main() {
// 1. 创建生成器
adminDoc := openapi.NewGenerator("Admin API", "1.0")
// 2. 模拟 Fiber App
app := fiber.New()
// 3. 模拟 Handler
// 我们创建一个伪造的 handler。因为我们不执行请求nil 依赖是可以的。
accHandler := admin.NewAccountHandler(nil)
roleHandler := admin.NewRoleHandler(nil)
permHandler := admin.NewPermissionHandler(nil)
handlers := &bootstrap.Handlers{
Account: accHandler,
Role: roleHandler,
Permission: permHandler,
}
// 4. 注册路由
adminGroup := app.Group("/api/admin")
routes.RegisterAdminRoutes(adminGroup, handlers, adminDoc, "/api/admin")
// 5. 保存规范
outputFile := "./docs/admin-openapi.yaml"
if err := adminDoc.Save(outputFile); err != nil {
log.Fatalf("保存规范失败: %v", err)
}
absPath, _ := filepath.Abs(outputFile)
log.Printf("成功在以下位置生成 OpenAPI 规范: %s", absPath)
}