我正在使用Gin创建HTTP服务,试图验证通过HTTP请求接收到的整个查询参数,这是我如何使用BindQuery
方法,但是当我尝试使用具有查询参数的URL发送请求时,例如http://localhost:3003/user?id=ck5w9xc5g004d0892zwb07w5p
type QueryUser struct {
Id string `binding:"required" validate:"regexp=^[a-zA-Z0-9]*$"`
}
func (uhc UserHttpController) UserGet(ctx *gin.Context) {
var queryUser QueryUser
if err := ctx.BindQuery(queryUser); err != nil {
}
}
该程序只是在语句
reflect: reflect.flag.mustBeAssignable using unaddressable value
上因错误ctx.BindQuery(queryUser)
而崩溃我做错了什么?
最佳答案
调用&
时,您需要在&queryUser
前面加上BindQuery
。
type QueryUser struct {
Id string `binding:"required" validate:"regexp=^[a-zA-Z0-9]*$"`
}
func (uhc UserHttpController) UserGet(ctx *gin.Context) {
var queryUser QueryUser
if err := ctx.BindQuery(&queryUser); err != nil {
}
}