Add support of pointers in form binding (#1336)

* Add support of pointers in form binding

* Add tests for pointer form binding
This commit is contained in:
Alexander Lokhman
2018-04-26 15:09:34 +01:00
committed by Bo-Yi Wu
parent 8c24018290
commit 2282be059b
2 changed files with 44 additions and 0 deletions

View File

@ -112,6 +112,12 @@ func setWithProperType(valueKind reflect.Kind, val string, structField reflect.V
return setFloatField(val, 64, structField)
case reflect.String:
structField.SetString(val)
case reflect.Ptr:
if !structField.Elem().IsValid() {
structField.Set(reflect.New(structField.Type().Elem()))
}
structFieldElem := structField.Elem()
return setWithProperType(structFieldElem.Kind(), val, structFieldElem)
default:
return errors.New("Unknown type")
}