一般情況使用
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)