教程 > gin 教程 > 阅读:81

gin 参数绑定——迹忆客-ag捕鱼王app官网

为了能够更方便的获取请求相关参数,提高开发效率,我们可以使用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 会按照以下顺序解析请求中的数据并完成绑定:

  • 如果是get请求,只使用form绑定引擎(query)
  • 如果是post请求,首先检查content-type是否为json或xml,然后再使用form(form-data)

查看笔记

扫码一下
查看教程更方便
网站地图