绑定数据的三种方式

  • 绑定 form 或者 querystring 使用

    • 结构体

      type User struct{
          Name string `form:"name"`
          Age int `form:"age"`
      }
      
    • 后端代码

      func ShouleBindAddForm(ctx *gin.Context){
      	var user = User{}
      	err := ctx.ShouldBind(&user)
      
      	if err !=nil{
      		panic("绑定错误!")
      	}
      
      	fmt.Println(user)
      }
      
  • 绑定 json 中使用

    • 结构体

      type User struct{
          Name string `json:"name"`
          Age int `json:"age"`
          Addr string `json:"addr"`
      }
      
    • 后端代码

      func ShouldBindJson(ctx *gin.Context){
          var user User
          err := ctx.ShouldBind(&user)
          
          if err != nil{
              panic("绑定错误")
          }
          
          fmt.Println(user)
      }
      
  • 绑定 uri 中使用

    • 结构体

      type user struct{
          Name string `uri:"name"`
          Age int `uri:"age"`
          Addr string `uri:"addr"`
      }
      
    • 后端代码

      func ShouleBindUri(ctx *gin.Context){
      	var user User
      	err := ctx.ShouldBindUri(&user)
      
      	if err != nil{
      		panic("绑定失败")
      	}
      
      	fmt.Println(user)
      }
      
    • 路由

      http://127.0.0.1:8080/v6/u/xiaohei/23/nanjing
      
原文地址:https://www.cnblogs.com/wuxiaoshi/p/14352118.html