2015-01-31 3 views
1

"값은 안 export 필드 나 메소드에서 얻을 반환 할 수 없습니다"바인딩 나는 다음과 같은 경로가 있습니다마티니

m.Post("/users", binding.Bind(models.User{}), func(user models.User, r render.Render) 

을 그리고 나는 Post 요청을 수행하려고 할 때 다음과 같은 오류 메시지가 나타납니다 :

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"` 
} 
,745 "패닉 : reflect.Value.Interface 값 내 보내지 필드 나 메소드에 의한 반환 할 수 없습니다"

아무도 아이디어가 있습니까?

답변

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"` 
}