Go-gin拦截请求正文

时间:2016-11-11 13:34:16

标签: go go-gin

我使用go-gin作为服务器并尝试解码请求正文。当我发送包含两个字符串的请求时

{
    "name": "abc"
}

以下代码正确解码:

var decodedBody map[string]string
err = json.NewDecoder(c.Request.Body).Decode(&decodedBody)

但是如果我发送

{
    "id": 1
}

以下代码为我提供了空白地图

var decodedBody map[string]int
err = json.NewDecoder(c.Request.Body).Decode(&decodedBody)

不确定我在这里缺少什么。有什么指针吗?

1 个答案:

答案 0 :(得分:0)

因为您使用字符串设置了encodeBody的数据类型,如果您的值不是字符串值,则不会解码正确的值{“ id”:1},它的值的类型是int,而不是字符串。