This code does not work, the response will be empty, like this {"test":""}
.
func main() {
router := gin.Default()
router.POST("/test", f
unc(c *gin.Context) {
test := c.Query("test")
c.JSON(200, gin.H{
"test": test,
})
})
router.Run()
}
UPDATED: I found the simple solution via struct:
func test(c *gin.Context) {
test := struct {
Test string `json:"test"`
Test2 string `json:"test2"`
}{}
c.BindJSON(&test)
c.JSON(200, gin.H{
"test1": test.Test,
"test2": test.Test2,
})
}
func test(c *gin.Context) {
test := struct {
Test string `json:"test"`
Test2 string `json:"test2"`
}{}
c.BindJSON(&test)
c.JSON(200, gin.H{
"test1": test.Test,
"test2": test.Test2,
})
}
You are sending the data as body, you should bind the body to a variable to have access to it.
type Data struct {
test string
}
// ...
router.POST("/test", func(c *gin.Context) {
var data Data
c.BindJSON(&data)
c.JSON(200, gin.H{
"test": data.test,
})
})
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.