绑定数据的三种方式

  • 绑定 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
      
posted @   巫小诗  阅读(260)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示