一般结构体方式 ctx.Query(“”)
func main() {
r := gin.Default()
r.GET("/", func(ctx *gin.Context) {
var u User
u.Name = ctx.Query("name")
u.Age = ctx.Query("age")
ctx.JSON(http.StatusOK, gin.H{
"name": u.Name,
"age": u.Age,
})
})
r.Run(":9090")
}
ctx.bind方式
Get方法
type User struct {
Name string `form:"name"`
Age string `form:"age"`
}
func main() {
r := gin.Default()
r.GET("/user", func(ctx *gin.Context) {
var u User
err := ctx.ShouldBind(&u)
if err != nil {
ctx.JSON(http.StatusBadRequest, gin.H{
"status": "err",
})
} else {
ctx.JSON(http.StatusOK, gin.H{
"status": "ok",
})
}
fmt.Printf("u: %#v\n", u)
})
r.Run(":9090")
}
POST方法
r.POST("/user1", func(ctx *gin.Context) {
var u User
err := ctx.ShouldBind(&u)
if err != nil {
ctx.JSON(http.StatusBadRequest, gin.H{
"status": "err",
})
} else {
ctx.JSON(http.StatusOK, gin.H{
"status": "ok",
})
}
fmt.Printf("u: %#v\n", u)
})