Files
knowledge-graph-agent/backend/handlers/graph_handler.go
T
2026-04-13 16:16:39 +08:00

47 lines
1.1 KiB
Go

package handlers
import (
"net/http"
"github.com/gin-gonic/gin"
"knowledge-graph-backend/services"
)
type GraphHandler struct {
service services.GraphService
}
func NewGraphHandler(service services.GraphService) *GraphHandler {
return &GraphHandler{
service: service,
}
}
// @Summary 获取图数据
// @Description 获取知识图谱的全部节点和边数据
// @Produce json
// @Success 200 {object} models.GraphData "成功"
// @Failure 500 {object} models.ErrorResponse "内部错误"
// @Router /api/graph [get]
func (h *GraphHandler) GetGraphData(c *gin.Context) {
data := h.service.GetGraphData()
c.JSON(http.StatusOK, data)
}
// @Summary 获取图统计信息
// @Description 获取知识图谱的节点数、边数等统计信息
// @Produce json
// @Success 200 {object} map[string]interface{} "成功"
// @Failure 500 {object} models.ErrorResponse "内部错误"
// @Router /api/graph/stats [get]
func (h *GraphHandler) GetStats(c *gin.Context) {
stats := h.service.GetStats()
c.JSON(http.StatusOK, gin.H{
"stats": stats,
"timestamp": gin.H{
"totalNodes": stats["totalNodes"],
"totalEdges": stats["totalEdges"],
},
})
}