pkg/routes 是对 Engine.Router 常用路由能力的轻量包装,便于按功能导入。
Engine 已有实现,不重复发明路由逻辑。ResourceController = engine.ResourceControllerResourceOption = engine.ResourceOptionResource(r, name, ctrl, opts...)CRUD(r, name, ctrl)HealthCheck(r, path...)Liveness(r, path...)Readiness(r, checks...)ReadinessAt(r, path, checks...)Startup(r, checks...)StartupAt(r, path, checks...)Version(r, v)VersionedAPI(r, v, setup)NamedProbe(...)WithIDParam:资源路由 ID 参数配置WithIDParam(...):控制资源路由的 ID 参数名/形式(复用 engine.WithIDParam)HealthCheck 可选自定义路径Liveness / Readiness / Startup 用于容器探针路由Version / VersionedAPI 使用版本字符串生成前缀r := e.Router()
routes.HealthCheck(r)
routes.Liveness(r)
v1 := routes.Version(r, "1")
v1.GET("/users", listUsers)
routes.Readiness(r,
routes.NamedProbe("database", func(c *gin.Context) error {
return pingDB(c)
}),
)
routes.VersionedAPI(r, "1", func(v *gin.Router) {
v.GET("/users", listUsers)
})
routes.Resource(r, "users", userController, routes.WithIDParam("user_id"))
*gin.Router。Engine.Router() 上层的语义化快捷方法。