當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
go gin 第二次使用ShouldBindJSON失效的原因及解决办法:使用ShouldBindBodyWith代替
生活随笔
收集整理的這篇文章主要介紹了
go gin 第二次使用ShouldBindJSON失效的原因及解决办法:使用ShouldBindBodyWith代替
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ShouldBindJSON方法是最常用解析JSON數(shù)據(jù)的方法之一,但在重復(fù)調(diào)用的情況下會出現(xiàn)EOF的報錯,這個原因出在ShouldBindJSON在調(diào)用過一次之后context.request.body.sawEOF的值是false導(dǎo)致,所以如果要多次綁定多個變量,需要使用ShouldBindBodyWith。
為什么第二次使用ShouldBindJSON就失效了呢?
今天debug看了下,主要是 http.Request的io buffer第一次取完之后,http.body 結(jié)構(gòu)體中的sawEOF=true
第二次去讀取,發(fā)現(xiàn)已經(jīng)是true了。直接返回了err = io.EOF.
參考鏈接:
https://blog.csdn.net/bingo199/article/details/115281665
https://blog.csdn.net/yes169yes123/article/details/106204252
總結(jié)
以上是生活随笔為你收集整理的go gin 第二次使用ShouldBindJSON失效的原因及解决办法:使用ShouldBindBodyWith代替的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go gin内嵌静态资源go-binda
- 下一篇: Go语言字符串和数组的相互转换