數(shù)據(jù)綁定的目的是前端提交過來的數(shù)據(jù)和后臺數(shù)據(jù)進行映射
/*
@Author : 寒云
@Email : 1355081829@qq.com
@Time : 2019/10/15 11:51
*/
package main
import (
"github.com/gin-gonic/gin"
"net/http"
"strconv"
)
type User struct {
Name string `form:"user" binding:"required"`
Password string `form:"password" binding:"required"`
}
func main() {
r := gin.Default()
r.POST("/login", func(c *gin.Context) {
var user User
_ = c.ShouldBind(&user)
name := c.PostForm("name")
age := c.PostForm("age")
realAge, _ := strconv.Atoi(age)
c.JSON(http.StatusOK, gin.H{"user": user, "name": name, "age": realAge})
})
_ = r.Run(":8089")
}
在這個例子中,我們定義了個名字為User的機構(gòu)體,
type User struct {
Name string `form:"user" binding:"required"`
Password string `form:"password" binding:"required"`
}
通過 ShouldBind將前臺數(shù)據(jù)和我們的結(jié)構(gòu)體進行了數(shù)據(jù)綁定
_ = c.ShouldBind(&user)
用postman模擬接口請求,我們成功的將前臺請求的數(shù)據(jù)和我們定義的結(jié)構(gòu)體綁定

image.png