golang gin多次绑定 request body 数据

一般情况使用
c.ShouldBindJSON
c.ShouldBind
第二次读取 request body 的数据就会出现 EOF 的错误,因为 c.Request.Body 不可以重用

gin 1.4 之后官方提供了一个 ShouldBindBodyWith 的方法,可以支持重复绑定,原理就是将 body 的数据缓存了下来,但是二次取数据的时候还是得用 ShouldBindBodyWith 才行,直接用 ShouldBind 还是会报错的。

注意
不是c.ShouldBindWith

_=c.ShouldBindBodyWith(&role,binding.JSON)
_=c.ShouldBindBodyWith(&admin,binding.JSON)
posted @ 2021-10-06 14:55  CJ-cooper  阅读(529)  评论(0编辑  收藏  举报