go 的gin框架自带的bingding用法如何绑定结构体数组呢?
比如一个批量接口, 传参数[{"name":"go", "age":15}]
那么go的 接收结构体应该如何写呢
我的写法是:
type Test struct {
Data []Info `form:"data"`
}
type Info struct {
Name string `form:"name"`
Age int `form:"age"`
}
然后绑定写法:
var p param.Test
var err error
if err = c.ShouldBind(&p); err != nil {
}
可是这种写法是不对的, 那么应该如何写呢
与写法无关,与你提交的数据相关。Test类型结构体标签是data
你提交的数据必须要以data为键,该键对应的值为你给出的提交Info类型数组数据,像下面这样
data:=[{"name":"go", "age":15}]
简而言之这种绑定要求你前端提交数据要有正确的嵌套层次(与被绑定的结构体类型保持一致)