forked from mirror/gin
Adds gin.Bind() usage panic!
This commit is contained in:
parent
ab447bb188
commit
22f118f3b6
9
utils.go
9
utils.go
|
@ -16,7 +16,14 @@ import (
|
||||||
const BindKey = "_gin-gonic/gin/bindkey"
|
const BindKey = "_gin-gonic/gin/bindkey"
|
||||||
|
|
||||||
func Bind(val interface{}) HandlerFunc {
|
func Bind(val interface{}) HandlerFunc {
|
||||||
typ := reflect.ValueOf(val).Type()
|
value := reflect.ValueOf(val)
|
||||||
|
if value.Kind() == reflect.Ptr {
|
||||||
|
panic(`Bind struct can not be a pointer. Example:
|
||||||
|
Use: gin.Bind(Struct{}) instead of gin.Bind(&Struct{})
|
||||||
|
`)
|
||||||
|
}
|
||||||
|
typ := value.Type()
|
||||||
|
|
||||||
return func(c *Context) {
|
return func(c *Context) {
|
||||||
obj := reflect.New(typ).Interface()
|
obj := reflect.New(typ).Interface()
|
||||||
if c.Bind(obj) == nil {
|
if c.Bind(obj) == nil {
|
||||||
|
|
Loading…
Reference in New Issue