Я пытаюсь написать генератор обработчика 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 не работает и не проверяет запрос. Кто-нибудь знает, какая часть моего кода вызывает проблему?