cmd.go 950 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package cmd
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/net/ghttp"
  6. "github.com/gogf/gf/v2/os/gcmd"
  7. "UserManager/internal/controller/hello"
  8. "UserManager/internal/controller/user"
  9. )
  10. var (
  11. Main = gcmd.Command{
  12. Name: "main",
  13. Usage: "main",
  14. Brief: "start http server",
  15. Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
  16. s := g.Server()
  17. // 静态文件服务,用于提供前端页面
  18. s.SetServerRoot("template")
  19. s.AddStaticPath("/", "template")
  20. // 1. 根分组,保留官方示例
  21. s.Group("/", func(g *ghttp.RouterGroup) {
  22. g.Middleware(ghttp.MiddlewareHandlerResponse)
  23. g.Bind(hello.NewV1())
  24. })
  25. // 2. 用户分组,挂我们写的控制器
  26. s.Group("/user", func(g *ghttp.RouterGroup) {
  27. g.Middleware(ghttp.MiddlewareHandlerResponse)
  28. g.Bind(
  29. user.User, // 用我们之前写的全局实例
  30. )
  31. })
  32. s.Run()
  33. return nil
  34. },
  35. }
  36. )