cmd.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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/net/goai"
  7. "github.com/gogf/gf/v2/os/gcmd"
  8. "github.com/gogf/gf/v2/os/glog"
  9. "github.com/tiger1103/gfast/v3/internal/consts"
  10. "github.com/tiger1103/gfast/v3/internal/router"
  11. )
  12. var (
  13. Main = gcmd.Command{
  14. Name: "main",
  15. Usage: "main",
  16. Brief: "start http server",
  17. Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
  18. g.Log().SetFlags(glog.F_ASYNC | glog.F_TIME_DATE | glog.F_TIME_TIME | glog.F_FILE_LONG)
  19. g.Log().Info(ctx, "GFast version:", consts.Version)
  20. s := g.Server()
  21. s.Group("/", func(group *ghttp.RouterGroup) {
  22. router.R.BindController(ctx, group)
  23. })
  24. enhanceOpenAPIDoc(s)
  25. s.Run()
  26. return nil
  27. },
  28. }
  29. )
  30. func enhanceOpenAPIDoc(s *ghttp.Server) {
  31. openapi := s.GetOpenApi()
  32. openapi.Config.CommonResponse = ghttp.DefaultHandlerResponse{}
  33. openapi.Config.CommonResponseDataField = `Data`
  34. // API description.
  35. openapi.Info = goai.Info{
  36. Title: consts.OpenAPITitle,
  37. Description: consts.OpenAPIDescription,
  38. Contact: &goai.Contact{
  39. Name: consts.OpenAPIContactName,
  40. URL: consts.OpenAPIContactUrl,
  41. },
  42. }
  43. }