validator
推荐学习:validator库参数校验若干实用技巧
官方文档:validator
这里主要介绍validator以注册功能为例从注册到使用的全过程。
注册验证器
首先你需要在http\validator\common\register_validator
这里注册你的验证器,也就是将它以键值对的形式进行存储到容器里面。当然了,这里需要进行初始化。
1 | go复制代码 key = consts.ValidatorPrefix + "UsersRegister" |
编写验证器
这里注释写的很清楚了。
1 | go复制代码// 给出一些最常用的验证规则: |
复杂参数的解决
如果这样一个一个进行获取在大量参数上会很复杂的。
其实很简单就是你单独设置一个就可了。
从工厂中取出验证器
1 | go复制代码func Create(key string) func(context *gin.Context) { |
然后就会执行对象的CheckParams
接口(验证器)。
控制器
1 | go复制代码(&web.Users{}).Register(extraAddBindDataContext) |
接下来就是你编写控制器日常的操作了。
获取参数。
1 | go复制代码 userName := context.GetString(consts.ValidatorPrefix + "user_name") |
剩余就常规处理了。
以上整体的流程如下:
- 创建一个对象,实现
CheckParams
接口 - 项目初始化,注册到容器里面
- 当你请求来的时候,从工厂中取出验证器(切入验证器)将参数添加到上下文中,供全局使用。
- 然后进入控制器,之后就是
service
和model
我只能说优雅!!!!
本文转载自: 掘金