api.go 968 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package api
  2. import (
  3. "gxt-file-server/pkg/middleware"
  4. "gxt-file-server/router/api/controllers"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/net/ghttp"
  7. "go.uber.org/dig"
  8. )
  9. // RegisterRouters 注册路由
  10. func RegisterRouters(s *ghttp.Server, container *dig.Container) error {
  11. controllers.Inject(container)
  12. // 路由根
  13. gr := s.Group(g.Cfg().GetString("server.RoutePrefix")).
  14. Group("/api")
  15. // 注册请求限制中间件
  16. gr.Middleware(middleware.RateLimiterMiddleware())
  17. gr.Middleware(middleware.CROSMiddleWare())
  18. return container.Invoke(func(
  19. cDemo *controllers.Demo,
  20. cFile *controllers.File,
  21. ) {
  22. v1 := gr.Group("/v1")
  23. {
  24. gDemo := v1.Group("/demos")
  25. {
  26. gDemo.POST("/", cDemo.Create)
  27. }
  28. gFile := v1.Group("/files")
  29. {
  30. gFile.POST("/", cFile.Upload)
  31. gFile.GET("/", cFile.Download)
  32. gFile.PUT("/persistent", cFile.Persistent)
  33. gFile.POST("/chunk", cFile.Chunk)
  34. gFile.POST("/merge", cFile.Merge)
  35. }
  36. }
  37. })
  38. }