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
相关推荐
kite012113 小时前
Gin + Zap 日志:构建高性能、结构化的应用日志系统
golang·gin·log·zap
OxYGC15 小时前
[玩转GoLang] 5分钟整合Gin / Gorm框架入门
开发语言·golang·gin
张烫麻辣亮。1 天前
golang-gin包
开发语言·golang·gin
小红帽2.03 天前
GOFLY开源客服系统-处理gin框架下的session中间件
中间件·gin
小红帽2.04 天前
从零搭建客服系统:我是如何用Gin实现页面路由与模板渲染的
gin
戎码江湖5 天前
使用CI/CD部署后端项目(gin)
ci/cd·golang·gin·后端自动部署项目·自动化部署项目
夏沫mds12 天前
【基于hyperledger fabric的教育证书管理系统】
运维·go·vue·区块链·gin·fabric
水墨熊猫13 天前
【FIX】go运行报错“missing go.sum entry for module providing package”解决方案
golang·gin
用户895356032822016 天前
告别重复,用Go泛型精简Gin代码
后端·gin
水痕0124 天前
gin结合minio来做文件存储
java·eureka·gin