package main
import "log"
import "github.com/gin-gonic/gin"
type Person struct {
Name string `json:"name"`
Address string `json:"address"`
}
func main() {
log.Println("Hello World")
route := gin.Default()
route.GET("/testing", startPage)
route.Run(":8085")
}
func startPage(c *gin.Context) {
var person Person
if c.BindJSON(&person) == nil {
log.Println(person.Name)
log.Println(person.Address)
log.Println("Binding success...............")
} else {
log.Println("Binding failed...............")
}
c.String(200, "Success")
}
以上代码仅适用于curl -X GET localhost:8085/testing --data '{"name":"JJ", "address":"xyz"}' -H "Content-Type:application/json"
,但不适用于curl -X GET localhost:8085/testing?name=JJ&address=xyz -H "Content-Type:application/json"
如果我使用c.Bind(&person)
,绑定失败两种情况。
我怎么能写上面的代码绑定查询字符串和json。通过--data传递参数和传入查询字符串之间有什么区别。
答案 0 :(得分:-1)
golang gin 中的查询参数应为
name := c.Param("name")