第五篇:创建Model、参数绑定Model的初步使用
一:模型:
Model 现在已经很灵活,除了可以跟数据库映射,还可以跟Redis,MQ 或者其他的一些业务相关的 模型;今天讲到的参数其实也可以做成一个参数模型;
这里的模型不仅仅局限于和数据库映射的struct,先创建一个未来可能要跟我们数据库映射的struct(Topic),也就是说将来可能有张表,它的名称就是Topic,叫什么名这都无所谓,关键架构体里的字段有自己的规则进行映射就可以了;


返回值处理:

(在我们的Gin里面给我们做了比较好的处理方式)
tag 标记:当我们把struct做成json输出的时候尼,会取后面一个进行映射

二:参数绑定
几乎很多流行的框架 都支持 参数绑定 我们的Model中 gin自然也有;
不管是使用get,post 或者其他一些方式传递过来的参数都可以对其进行参数绑定;
2.1:query参数绑定
type TopicQuery struct{
UserName string `form:"username" json:"username"`
Page int
PageSize int
}
form(注意不是from)决定了绑定query参数key到底是什么
另外两个没写form则不会进行绑定;
实例:对于形如以下有很多参数条件的请求

使用如下方式进行一个个参数判断比较麻烦,也比较凌乱

我们可以把get参数username=痞子胥&page=1&limit=10&is_top=true 映射成一个模型
Model代码:

Dao层代码:

浏览器访问如下:
model中 结构体进行 form 参数绑定

如此参数就绑定上了




综上绑定了query 也就是我们get提交的参数

浙公网安备 33010602011771号