扫码一下
查看教程更方便
为了能够更方便的获取请求相关参数,提高开发效率,我们可以使用shouldbind,它能够基于请求自动提取json,form表单,query等类型的值,并把值绑定到指定的结构体对象。具体使用方法如下
package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
type userinfo struct {
username string `form:"username"`
password string `form:"password"`
}
func main() {
r := gin.default()
r.get("/user", func(c *gin.context) {
var u userinfo
err := c.shouldbind(&u)
if err != nil {
c.json(http.statusbadgateway, gin.h{
"error": err.error(),
})
} else {
c.json(http.statusok, gin.h{
"status": "ok",
})
}
fmt.printf("%#v\n", u)
})
r.run()
}
shouldbind
会按照以下顺序解析请求中的数据并完成绑定:
content-type
是否为json或xml,然后再使用form(form-data)