目录
- Gin 入门实战
-
- Agenda
- 拨开云雾见天日
-
- 1-1 前置知识
- 1-2 golang开发环境准备
- 1-2 go mod 包管理工具
- 万丈高楼平地起
-
- 2-1 安装gin及快速开始
- 2-2 请求路由
- 2-3 获取请求参数
- 2-4 验证请求参数
- 2-5 中间件
- 2-6 其他补充
- 2-7 构建企业级脚手架
-
- 现在开始
- 文件分层
- 引入轻量级golang类库,支持 mysql、redis、http.client、log、支持多级环境配置、支持链路日志打印
- 输出格式统一封装
- 定义中间件链路日志打印
- 请求数据绑定到结构体与校验
- 秤砣虽小压千斤
-
- 3-1 用户管理系统设计
-
- 功能点
- 数据库
- 后端准备
- 前端准备
- 3-2 实战开发
- 课程总结
Gin 入门实战
Agenda
- 拨开云雾见天日:前置知识讲解
- 万丈高楼平地起:基础中的精髓 及 搭建企业级golang脚手架
- 秤砣虽小压千斤:实战学习开发用户管理系统
拨开云雾见天日
1-1 前置知识
- 在固定时间内重复完成的总数,数值越高的是越好的结果
- 单次重复持续时间(ns /op),越低越好
- 堆内存(B /op),越低越好
- 每次重复的平均分配(allocs /op),越低越好
- httprouter 为gin插上了翅膀
- 参数作为URL
- 正则绑定
- 获取GET请求参数
- 获取POST请求参数
- 获取Body值
- bind绑定结构体获取参数(Get&POST&POST_BODY)
- 结构体binding验证
- 自定义验证
从内存分配、单词相应时间、Qps三个纬度分析。gin基本是碾压其他对手的。
2-3 获取请求参数
测试效果:
只需要在结构体上设置form标签即可
测试
2-4 验证请求参数
gin默认使用validator.v8作为验证器。
多种验证规则请参见:
https://github.com/go-playground/validator/tree/v8
https://godoc.org/gopkg.in/go-playground/validator.v8#hdr-Using_Validator_Tags
注意点:gin必须使用 binding tag 来设置校验规则,而不是 validate。
测试
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!