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

I am using gin-gonic to create my first Go rest API server.

My User struct is as follows

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

I have the following route defined in my code

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

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

        //some code here

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

My POST request body is as follows

{
    "first_name" : "James Bond"
}

The value of user.FirstName is "" in this case. But when I post my request body as

{
    "firstName" : "James Bond"
}

The value of user.FirstName is "James Bond".

How do I map the snake case variable "first_name" from the JSON request body to the corresponding variable in the struct? Am I missing something?

You have a typo (a space in json: "first_name").

It should be:

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