我知道你可以从中获取身体的内容

ioutil.ReadAll(c.Request.Body)

但是使用httputil.DumpRequest
dump, err := httputil.DumpRequest(c.Request, true)
将给出主体内容以及其他值,最后是主体内容。

内容类型:application / json IP:127.0.0.1:36846标头 token :内容长度:76请求方法:POST请求URL:/ signup正文:
POST /注册HTTP / 1.1
主持人:127.0.0.1:8080
接受:/
接受编码:gzip,deflate
接受语言:en-US,en; q = 0.8
连接:保持 Activity 状态
内容类型:application / json
来源:chrome-extension:// hgmloofddffdnphfgcellkdfbfbjeloo
用户代理:Mozilla / 5.0(X11; Linux i686)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 38.0.2125.101 Safari / 537.36
{“fname”:“aFirstName”,“lname”:“aLName”,“email”:“[email protected]”,“password”:“123”}

有没有一种有效的方法可以从httputil.DumpRequest()中仅获取正文内容?即仅在这种情况下

{“fname”:“aFirstName”,“lname”:“aLName”,“email”:“[email protected]”,“password”:“123”}

最佳答案

您无需为此使用httputil.DumpRequest,这是一个调试功能。

假设您要解析json,可以执行以下操作:

defer c.Request.Body.Close()
var data yourDataType
if err := json.NewDecoder(c.Request.Body).Decode(&data); err != nil {
    // handle error
}
// handle data

关于go - Go Lang-Gin:如何从httputil.DumpRequest中仅提取主体(并忽略其他垃圾),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32034673/

10-11 07:16