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
相关推荐
GoFly开发者4 小时前
好消息!Gin+GORM-Gen开发框架已集成完成,正在进行测试和编写使用文档中,需要的开发朋友可以等待使用及订阅哦
gin·gorm·gorm-gen
Soonyang Zhang1 天前
nccl分析(三)——GPU-Initiated Networking(gin)数据发送过程分析
gin·nccl
呆萌很2 天前
【Gin】中间件练习题
gin
会编程的土豆3 天前
Gin 核心概念速记
数据库·后端·gin·goland
GDAL3 天前
Gin c.HTML 完整教程
html·gin
会编程的土豆3 天前
Gin 核心概念 & 前后端交互笔记
笔记·交互·gin
会编程的土豆3 天前
Gin 中 `c.BindJSON` 与 `c.JSON` 详细讲解
c语言·json·gin
会编程的土豆3 天前
Gin 核心对象:`c *gin.Context` 详细解析
服务器·c语言·gin
会编程的土豆3 天前
Gin POST 请求完整流程笔记
chrome·笔记·gin
lolo大魔王5 天前
Go 后端实战|Gin + GORM V2 + MySQL 企业级 API 项目开发(完整版)
mysql·golang·gin