需求:
記錄所有請求的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))