ctx.Request().body only fetch once
使用golang 获取body请求 的一个坑
通过
body1,_:= ioutil.ReadAll(this.Ctx.Request.Body)
这种方法获取body数据 有个问题 只能获取到一次
如果程序中 有2个地方需要通过此方法获取 body 则会有bug
beego 解决方式
body:= this.Ctx.Input.RequestBody
gin解决方案
//body 只能讀一次,讀出來之後需要重置下 Body
body,_:=ctx.GetRawData()
ctx.Request.Body = ioutil.NopCloser(bytes.NewBuffer(body)) // 重置body
网友评论