我有以下路线:
m.Post("/users", binding.Bind(models.User{}), func(user models.User, r render.Render)
当我尝试执行Post
请求时收到以下错误消息:
“PANIC:reflect.Value.Interface:无法返回从未导出的字段或方法中获取的值”
type User struct {
id int
UUID string `json:"uuid"`
Username string `json:"userName" form:"userName" binding:"required"`
Firstname string `json:"firstName" form:"Firstname" binding:"required`
Lastname string `json:"lastName" form:"Lastname" binding:"required`
Email string `json:"email" form:"Email" binding:"required`
IsActive bool `json:"isActive"`
DateJoined time.Time `json:"dateJoined"`
}
有没有人有任何想法?
答案 0 :(得分:0)
我现在知道这个问题。
问题是User结构的属性“id”。如果将“id”重命名为“Id”,则绑定过程将完美运行。
使用标记form:"-"
,您可以忽略结构属性。
type User struct {
id int `form:"-"`
UUID string `json:"uuid"`
Username string `json:"userName" form:"userName" binding:"required"`
Firstname string `json:"firstName" form:"Firstname" binding:"required`
Lastname string `json:"lastName" form:"Lastname" binding:"required`
Email string `json:"email" form:"Email" binding:"required`
IsActive bool `json:"isActive"`
DateJoined time.Time `json:"dateJoined"`
}