由于io.ReadCloser读完后,只剩下EOF标记, 如果想再次读取的话,需要再重新给Request.body赋值.
bodyBytes, _ := ioutil.ReadAll(req.Body)
req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
// use bodyBytes
// pass to next middleware
参考
有疑问加站长微信联系(非本文作者)
由于io.ReadCloser读完后,只剩下EOF标记, 如果想再次读取的话,需要再重新给Request.body赋值.
bodyBytes, _ := ioutil.ReadAll(req.Body)
req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
// use bodyBytes
// pass to next middleware
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
由于io.ReadCloser读完后,只剩下EOF标记, 如果想再次读取的话,需要再重新给Request.body赋值.
bodyBytes, _ := ioutil.ReadAll(req.Body)
req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
// use bodyBytes
// pass to next middleware