Ошибка: refle.flag.mustBeAssignable с использованием неадресуемого значения, так как я пытаюсь использовать метод BindQuery - PullRequest
0 голосов
/ 28 января 2020

Я использую 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)

Что я делаю неправильно?

1 Ответ

0 голосов
/ 28 января 2020

Вам понадобится префикс & и передача &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 {

    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...