Gin 入门实战

目录

  • 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 前置知识

    1. 在固定时间内重复完成的总数,数值越高的是越好的结果
    2. 单次重复持续时间(ns /op),越低越好
    3. 堆内存(B /op),越低越好
    4. 每次重复的平均分配(allocs /op),越低越好

    从内存分配、单词相应时间、Qps三个纬度分析。gin基本是碾压其他对手的。

    • httprouter 为gin插上了翅膀

    • 参数作为URL
    • 正则绑定

    2-3 获取请求参数

    • 获取GET请求参数
    • 获取POST请求参数
    • 获取Body值

    测试效果:

    • bind绑定结构体获取参数(Get&POST&POST_BODY)

    只需要在结构体上设置form标签即可

    测试

    2-4 验证请求参数

    • 结构体binding验证

    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进行处理,非常感谢!

上一篇 2019年5月11日
下一篇 2019年5月11日

相关推荐