ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
数据绑定 === ### 绑定 Url 查询参数(Only Bind Query String) 使用`c.ShouldBindQuery`方法 ~~~ type User struct { User string `form:"user"` // 注意tag要form Password string `form:"password"` } func main() { app := gin.Default() app.GET("/test",getlog) app.Run(":8085") } // 注意不推荐用git传输秘密这样是非常不安全的! func getlog(ctx *gin.Context) { var user User if ctx.ShouldBindQuery(&user) == nil { // 绑定 log.Println(user.User) fmt.Println(ctx.Query("user")) log.Println(user.Password) } ctx.JSON(200,user) } ~~~ ### 绑定url查询参数和POST参数 使用`c.ShouldBind`方法,会根据`content-type`类型,优先匹配`JSON`或者`XML`,之后才是`Form`. ``` type User struct { User string `form:"user"` Password string `form:"password"` } func main() { app := gin.Default() app.GET("/test",getlog) app.POST("/logo",logo) app.Run(":8085") } func logo(ctx *gin.Context) { user := &User{} ctx.ShouldBind(user) ctx.JSON(200,user) } ```