项目中,使用到了分页以及一些参数,分页单独写的绑定参数,
type PageInfo struct {
Page int `json:"page" form:"page"`
PageSize int `json:"pageSize" form:"pageSize"`
}
但现在我需要传另外的参数,如
type GetByParentId struct {
ParentId uint `json:"parentId" form:"parentId"`
}
在使用ShouldBindJSON后第二个绑定获取不到数据,如
_ = c.ShouldBindJSON(&pageInfo)
_ = c.ShouldBindJSON(&reqParentId)
第二个参数就是获取的默认0
在网上参考了下,原因是:ShouldBindJSON在调用过一次之后context.request.body.sawEOF的值是false导致,所以可以使用ShouldBindBodyWith进行多次绑定
_ = c.ShouldBindBodyWith(&pageInfo, binding.JSON)
_ = c.ShouldBindBodyWith(&reqParentId, binding.JSON)
这个需要引入包:
github.com/gin-gonic/gin/binding