可以通过gin的Context对象获取前端传过来的参数,然后使用if语句判断参数是否等于"",如果不等于"",就将其作为条件进行查询操作。

代码示例:


func getHandler(c *gin.Context) {
    // 获取前端传过来的参数
    param1 := c.Query("param1")
    param2 := c.Query("param2")
    // 判断参数是否为空
    if param1 != "" {
        // 将不为空的参数作为条件进行查询操作
        result := db.Query("SELECT * FROM table WHERE param1=?", param1)
        // 处理查询结果
        // ...
    }
    if param2 != "" {
        // 将不为空的参数作为条件进行查询操作
        result := db.Query("SELECT * FROM table WHERE param2=?", param2)
        // 处理查询结果
        // ...
    }
    // ...
}

需要注意的是,如果前端传过来的参数过多,这种逐一判断的方式可能会让代码显得冗长且不易维护,可以使用结构体和反射等方法进行优化。