Напишите generi c обработчик с go -gin и отразите, что gin bind не связывает запрос - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь написать генератор обработчика HTTP с go -gin, который получает структуру и генерирует обработчик с ней.

Вот часть моего кода

    // I get these fields from my struct. 
    v := reflect.ValueOf(b)
    path := v.FieldByName("Path").String()
    method := v.FieldByName("Method").String()
    q := v.FieldByName("Query").Interface()

     router.Handle(method, path, func(c *gin.Context) {
        err := c.ShouldBind(&q)
         if err != nil {
            c.Status(http.StatusBadReqest)
            return
        }

Просто для обеспечения большего контекста q базовый тип имеет тип struct, который определен в коде.

For example:
type InfoQuery struct {
    Language string `form:"lang" binding:"max=2"`
}

Моя проблема в том, что функция Bind не работает и не проверяет запрос. Кто-нибудь знает, какая часть моего кода вызывает проблему?

...