关于参数注入的问题
如果在开发中一旦发小参数没有按照既定的要求注入到结构体的话,这个时候就一定要看请求方式什么?如果是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
-
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赋值给属性
-
结束。文章来源:https://www.toymoban.com/news/detail-662419.html
参数注入方法:ShouldBindQuery文章来源地址https://www.toymoban.com/news/detail-662419.html
- post + query ?id=1&name=1
- get + query ?id=1&name=1
到了这里,关于gin中关于参数注入问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!