如何使用Gin-Gonic在Go中读取蛇案JSON请求正文

时间:2019-02-15 05:46:52

标签: rest go gin-gonic

我正在使用gin-gonic创建我的第一个Go剩余API服务器。

我的User结构如下

type User struct {
    FirstName string `json: "first_name"`
}

我在代码中定义了以下路线

route.POST("/test", func(c *gin.Context) {

        var user request_parameters.User
        c.BindJSON(&user)

        //some code here

        c.JSON(http.StatusOK, token)
})

我的POST请求正文如下

{
    "first_name" : "James Bond"
}

在这种情况下,user.FirstName的值为""。但是当我将请求正文发布为

{
    "firstName" : "James Bond"
}

user.FirstName的值为"James Bond"

如何将snake case变量"first_name"从JSON请求主体映射到结构中的相应变量?我想念什么吗?

1 个答案:

答案 0 :(得分:2)

您有错字(json: "first_name"中的空格)。

应该是:

type User struct {
    FirstName string `json:"first_name"`
}