中间件记录请求记录后,无法绑定json数据
关于采用日志后的问题
- 问题描述
在开启日志中间件,记录请求数据后,在后续的流程中,无法使用ShouldBind等方法绑定数据,报EOF错误。
- 解决方案
经搜索资料,EOF是由于请求的body数据只允许读取一次,故可以修改为
相对应的参考文章reqeustBody, _ := c.GetRawData() logFields = append(logFields, zap.String("Request Body", string(reqeustBody))) // 响应的内容 logFields = append(logFields, zap.String("Response Body", w.body.String())) //新增的 ctx.Request.Body = ioutil.NopCloser(bytes.NewBuffer(data))
推荐文章: