需求:
记录所有请求的json数据
body, _ := ioutil.ReadAll(c.Request.Body) if body != nil { log.Info("请求body内容为:%s", body) }
此方法即可打印所有请求的body内容,但是在对应的处理器上就取不到数据
解决办法:
data,err := c.GetRawData() if err != nil{ fmt.Println(err.Error()) } fmt.Printf("data: %v ",string(data)) //很关键 //把读过的字节流重新放到body c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(data))