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
相关推荐
希望20174 天前
Golang | http/server & Gin框架简述
http·golang·gin
朗迹 - 张伟5 天前
Gin-Vue-Admin学习笔记
vue.js·学习·gin
creator_Li6 天前
Gin框架学习
go·gin
kite01218 天前
Gin + Zap 日志:构建高性能、结构化的应用日志系统
golang·gin·log·zap
OxYGC8 天前
[玩转GoLang] 5分钟整合Gin / Gorm框架入门
开发语言·golang·gin
张烫麻辣亮。9 天前
golang-gin包
开发语言·golang·gin
小红帽2.011 天前
GOFLY开源客服系统-处理gin框架下的session中间件
中间件·gin
小红帽2.011 天前
从零搭建客服系统:我是如何用Gin实现页面路由与模板渲染的
gin
戎码江湖12 天前
使用CI/CD部署后端项目(gin)
ci/cd·golang·gin·后端自动部署项目·自动化部署项目
夏沫mds19 天前
【基于hyperledger fabric的教育证书管理系统】
运维·go·vue·区块链·gin·fabric