package handlers import ( "net/http" "github.com/gin-gonic/gin" "knowledge-graph-backend/services" ) type SearchHandler struct { service services.GraphService } func NewSearchHandler(service services.GraphService) *SearchHandler { return &SearchHandler{ service: service, } } // @Summary 搜索节点 // @Description 根据关键词搜索知识图谱中的节点 // @Produce json // @Param q query string true "搜索关键词" // @Success 200 {object} models.SearchResponse "成功" // @Failure 400 {object} models.ErrorResponse "请求错误" // @Failure 500 {object} models.ErrorResponse "内部错误" // @Router /api/search [get] func (h *SearchHandler) SearchNodes(c *gin.Context) { query := c.Query("q") if query == "" { c.JSON(http.StatusBadRequest, gin.H{ "error": "Bad Request", "message": "Query parameter 'q' is required", }) return } results := h.service.SearchNodes(query) c.JSON(http.StatusOK, results) }