【发布时间】:2018-12-21 23:36:48
【问题描述】:
我需要在中间件中获取请求正文。比如:
return func(w http.ResponseWriter, req *http.Request) {
data, err := handler(w, req)
if err != nil {
buf := new(bytes.Buffer)
buf.ReadFrom(req.Body)
s := buf.String()
但我得到s == "" 带有正文的POST 请求。
为什么以及如何解决?
【问题讨论】:
-
这里的处理程序是什么?您是在写信响应处理程序吗?请发布您传递请求和响应对象的处理程序函数的代码。
-
请求体直接从客户端连接读取,只能读取一次。
-
@Adrian,谢谢。你能创建答案吗?
-
非常酷的问题!为什么要投反对票?
标签: go