Goalng Http中的Request.Body多次读取的解决方案
百里江山 ·由于io.ReadCloser读完后,只剩下EOF标记, 如果想再次读取的话,需要再重新给Request.body赋值.
bodyBytes, _ := ioutil.ReadAll(req.Body)
req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
// use bodyBytes
// pass to next middleware
参考
有bug。
bodyBytes, _ := ioutil.ReadAll(req.Body)
`req.Body.Close() // 必须关闭老的`
req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
// use bodyBytes
// pass to next middleware
#1
由于io.ReadCloser读完后,只剩下EOF标记, 如果想再次读取的话,需要再重新给Request.body赋值.
bodyBytes, _ := ioutil.ReadAll(req.Body)
req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
// use bodyBytes
// pass to next middleware