3模型绑定和模型验证
package main
import "github.com/gin-gonic/gin"
type PostArgs struct {
Name string `json:"name" uri:"name" form:"name""`
Age int `json:"age" uri:"age" form:"age"`
Sex bool `json:"sex" uri:"sex" form:"sex"`
}
func main() {
r := gin.Default()
r.POST("/testBindJson", func(c *gin.Context) {
var p PostArgs
erro :=c.ShouldBindJSON(&p)
if erro != nil {
c.JSON(200,gin.H{
"msg":"fail",
"data":gin.H{},
})
}else{
c.JSON(200,gin.H{
"msg":"sucess",
"data":p,
})
}
})
r.POST("/testBindUrl/:name/:age/:sex", func(c *gin.Context) {
var p PostArgs
erro :=c.ShouldBindUri(&p)
if erro != nil {
c.JSON(200,gin.H{
"msg":"fail",
"data":gin.H{},
})
}else{
c.JSON(200,gin.H{
"msg":"sucess",
"data":p,
})
}
})
r.POST("/testBindQuery", func(c *gin.Context) {
var p PostArgs
erro :=c.ShouldBindQuery(&p)
if erro != nil {
c.JSON(200,gin.H{
"msg":"fail",
"data":gin.H{},
})
}else{
c.JSON(200,gin.H{
"msg":"sucess",
"data":p,
})
}
})
r.Run(":8090")
}