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
相关推荐
不会聊天真君6471 天前
介绍(gin笔记第一期)
笔记·gin
ZHENGZJM2 天前
Server-Sent Events (SSE) 接口实现
架构·go·gin
ZHENGZJM2 天前
统一响应封装与 API 错误处理
react.js·go·gin
ZHENGZJM2 天前
仓库抓取与内容提取
go·gin
GDAL4 天前
gin.H 深入全面讲解
gin·h
呆萌很4 天前
【Gin】参数处理练习题
gin
GDAL4 天前
gin.Default() 深入全面讲解
golang·go·gin
GDAL5 天前
为什么选择gin?
golang·gin
ZHENGZJM9 天前
Gin 鉴权中间件设计与实现
中间件·gin
ZHENGZJM9 天前
认证增强:图形验证码、邮箱验证与账户安全
安全·react.js·go·gin