route.go 889 B

123456789101112131415161718192021222324252627
  1. package data_query
  2. import (
  3. "github.com/gin-gonic/gin"
  4. h "dbview/service/internal/modules/data_query/handler"
  5. svc "dbview/service/internal/modules/data_query/service"
  6. )
  7. // RegisterRoutes 将 data_query 模块的路由注册到 gin 引擎
  8. // 调用方应负责构造实际的 DataService(以具体 DataReader 实现为参数)
  9. func RegisterRoutes(r *gin.Engine, svcObj *svc.DataService) {
  10. handler := h.NewHandler(svcObj)
  11. grp := r.Group("/database/data")
  12. {
  13. // All endpoints use POST and expect JSON bodies
  14. grp.POST("/query", handler.QueryDataHandler)
  15. grp.POST("/task/result", handler.GetTaskResultHandler)
  16. // WebSocket 订阅端点(用于订阅任务实时推送)
  17. grp.GET("/tasks/ws", handler.TaskWSHandler)
  18. // SQL 执行相关路由
  19. grp.POST("/execute", handler.ExecuteSQLHandler)
  20. grp.POST("/execute/task/result", handler.GetExecuteTaskResultHandler)
  21. }
  22. }