Gin框架参数多次绑定
一、 使用ShouldBindBodyWith解决
var l loginReq
if err := c.ShouldBindBodyWith(&l, binding.JSON); err != nil {
fmt.Println("err: ", err)
c.Abort()
}
var l2 loginReq
if err := c.ShouldBindBodyWith(&l2, binding.JSON); err != nil {
fmt.Println("err: ", err)
c.Abort()
}
二、 转存Body
// 先把body取出来 data, err := c.GetRawData() if err != nil { fmt.Println("read body failed, error: ", err) } // bind之前把body写回去 c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(data)) var l loginReq if err := c.ShouldBind(&l); err != nil { fmt.Println("err: ", err) c.Abort() } // bind之后把body写回去 c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(data))
三 不用影响后续使用的方法
版权声明:
作者:超级管理员
链接:
https://apecloud.ltd/article/detail.html?id=gin-shoud-bind
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
打赏
共有0条评论