SuperAPI AI 工具集

go-chi-router

编程与开发

查看项目

更新于 10-15 20:29

技能介绍

用途:为 Go 后端 HTTP 传输层生成 Chi 路由实现,覆盖模块路由注册与 Fx 接线。

主要能力:生成 CRUD 路由(GET、POST、PUT、DELETE);自定义动作端点(如 /activate、/deactivate);带中间件的路由分组;版本化 API 路由;同一路由拥有多个 handler 的场景。

使用方式:文件放在 internal/modules/<module>/http/chi/router/<resource>_router.go。结构体命名为 <Resource>Router,构造函数为 New<Resource>Router,Setup 方法签名固定为 Setup(server *chi.Server),内部通过 server.Router() 获取 chi 路由。路由统一以 /api/v1/ 开头,资源名用复数名词,路径参数用 {id},嵌套资源如 /resources/{id}/items。非 CRUD 状态转换用 POST 加动词后缀。路由分组用 router.Group 并配合 r.Use(middleware.Auth) 限定中间件范围。Fx 接线写入 internal/modules/<module>/fx.go,必须同时使用 fx.As(new(chi.Route)) 与 fx.ResultTags(group:"routes"),多个路由可并列 Provide。

约定与限制:结构体只持有 handler 指针,不存其他状态;构造函数返回指针;文件内不写独立函数,需要时用私有方法;不写注释;导入仅限 bricks/pkg/http/server/chi 与 handler 包(用分组时加 middleware)。生成后需运行 make lint 与 make nilaway 检查代码质量与空指针问题。

适用场景:Go 后端模块的 HTTP 路由层搭建与维护。其他细节资料未提供。