diff --git a/cmd/gen_route.go b/cmd/gen_route.go index b54d438..df7d576 100644 --- a/cmd/gen_route.go +++ b/cmd/gen_route.go @@ -4,7 +4,7 @@ import ( "io/fs" "os" "path/filepath" - "strings" + "regexp" "git.ipao.vip/rogeecn/atomctl/pkg/ast/route" "git.ipao.vip/rogeecn/atomctl/pkg/utils/gomod" @@ -51,11 +51,13 @@ func commandGenRouteE(cmd *cobra.Command, args []string) error { log.Fatal("modules dir not exist, ", modulePath) } + controllerPattern := regexp.MustCompile(`controller(_?\w+)?\.go`) err = filepath.WalkDir(modulePath, func(path string, d fs.DirEntry, err error) error { if d.IsDir() { return nil } - if !strings.HasSuffix(path, "controller.go") { + + if !controllerPattern.MatchString(d.Name()) { return nil } diff --git a/templates/project/pkg/f/bind.go.tpl b/templates/project/pkg/f/bind.go.tpl index a0ce329..7a92fdd 100644 --- a/templates/project/pkg/f/bind.go.tpl +++ b/templates/project/pkg/f/bind.go.tpl @@ -34,6 +34,13 @@ func Body[T any](name string) func(fiber.Ctx) (*T, error) { } } +func QueryParam[T fiber.GenericType](key string) func(fiber.Ctx) (T, error) { + return func(ctx fiber.Ctx) (T, error) { + v := fiber.Query[T](ctx, key) + return v, nil + } +} + func Query[T any](name string) func(fiber.Ctx) (*T, error) { return func(ctx fiber.Ctx) (*T, error) { p := new(T)