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
相关推荐
福兮说11 小时前
Gin 项目里的错误处理:让 Controller 不必知道错误是怎么来的
后端·go·gin·架构设计
妙码生花4 天前
两个月 59 篇 AI 开发日志 + Golang 商业级实战项目收工后,得来的 AI 使用心法-上
前端·后端·gin
王的宝库6 天前
Gin + GORM
开发语言·golang·gin
妙码生花6 天前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
JavaPub-rodert8 天前
后台操作日志千万别同步写库:从 ShiyuAdmin 看 Gin 异步审计日志设计
gin
王的宝库9 天前
Gin 框架实战
golang·gin
Vespeng13 天前
打破传统 MVC:在 Go 中实践高内聚的业务驱动架构
架构·go·gin