golang gin框架提交数据验证,使用 gin.ShouldBind(&req)
报错如下
"Key: 'ReqXXXXCreate.Name' Error:Field validation for 'Name' failed on the 'required' tag
代码
type ReqXXXCreate struct {
Name string `json:"name" binding:"required"` // 名称
}
req := dto.ReqXXXCreate{}
if err := ctx.ShouldBind(&req); err != nil {
fmt.Println("err = ",err)
return
}
原因
如果是使用 raw-body发送JSON数据不会报这个错误,但直接使用form post就会报错.
原因是因为结构体定义的时候只定义了JSON名字,没有定义form,正确的定义应该是加入form:"name"
type ReqXXXCreate struct {
Name string `form:"name" json:"name" binding:"required"` // 名称
}
否则只能raw-body的POST请求
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)