Gin框架body参数获取

需求:

记录所有请求的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\n",string(data))
        //很关键
        //把读过的字节流重新放到body
        c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(data))

猜你喜欢

转载自www.cnblogs.com/wujf/p/10697915.html