gin中关于参数注入问题

关于参数注入的问题

如果在开发中一旦发小参数没有按照既定的要求注入到结构体的话,这个时候就一定要看请求方式什么?如果是post请求、

前端---post---json{id:1,pageSize:10,page:1}----------------------------------

参数注入方法:ShouldBindJSON

  • post + json

  • 传递过来json参数,post请求的

    • {page:1,pageSize:10,keyword:""}
  • gin/beego ---context----c.Request.Body

    • 1,2,3,2,33,4,5,55,55,33

  • json库方法 json.NewDecoder®----Decoder对象

    • 注入到pageInfo

    go 复制代码
    type PageInfo struct {
       Page     int    `json:"page" form:"page"`         // 页码
       PageSize int    `json:"pageSize" form:"pageSize"` // 每页大小
       Keyword  string `json:"keyword" form:"keyword"`   //关键字
    }
  • Decoder.Decode(pageInfo)

    • 底层就是通过反射找到所有结构体的属性,通过属性找到json标签,查看名字是否和jsonkey一致,如果一致就直接把value赋值给属性
  • 结束。

参数注入方法:ShouldBindQuery

  • post + query ?id=1&name=1
  • get + query ?id=1&name=1
相关推荐
我的golang之路果然有问题1 天前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
fashia3 天前
Java转Go日记(六十):gin其他常用知识
开发语言·后端·golang·go·gin
我的golang之路果然有问题4 天前
ElasticSearch+Gin+Gorm简单示例
大数据·开发语言·后端·elasticsearch·搜索引擎·golang·gin
fashia4 天前
Java转Go日记(五十七):gin 中间件
开发语言·后端·golang·go·gin
夏沫mds5 天前
不动产登记区块链系统(Vue3 + Go + Gin + Hyperledger Fabric)
linux·golang·区块链·gin·fabric
比特森林探险记5 天前
Go Gin框架深度解析:高性能Web开发实践
前端·golang·gin
在成都搬砖的鸭鸭5 天前
【Golang】使用gin框架导出excel和csv文件
golang·excel·gin
三金C_C6 天前
gin 框架
go·gin·后端框架
Chandler246 天前
Go 即时通讯系统:日志模块重构,并从main函数开始
后端·重构·golang·gin
三金C_C7 天前
gin 常见中间件配置
中间件·gin