gin当请求对象为数组时,binding不生效问题解决。
请求结构体如下
// 学生结构
type StudentParam struct {
StudentID uint64 `json:"student_id" binding:"required"` // 请求时此参数验证并未生效
StudentName int `json:"type" binding:"required"` // 请求时此参数验证并未生效
}
// 批量创建学生
type CreateStudentsParam struct {
Students []StudentParam `json:"students" binding:"required"`
}
var param CreateStudentsParam
err := c.ShouldBindJSON(¶m)
解决方法
type CreateStudentsParam struct {
Students []StudentParam `json:"students" binding:"dive"` // 将binding:"required"改为binding:"dive"
}