可以通过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)
// 处理查询结果
// ...
}
// ...
}
需要注意的是,如果前端传过来的参数过多,这种逐一判断的方式可能会让代码显得冗长且不易维护,可以使用结构体和反射等方法进行优化。