3.Golang面试题—Gin框架、sqlx
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
本文目录如下
九、Gin框架
简单介绍一下 Gin 框架 (为什么选择Gin框架)
Gin框架
是基于 Go语言 开发的一个 轻量级Web应用开发框架。- Gin框架 由于使用 http 实现 路由机制所以 性能很好。
Gin框架的开发步骤
- 1.加载配置: 通过
github.com/spf13/viper
指定 配置文件并从 配置文件 中加载 配置信息。- 2.初始化 MySQL 配置、Redis 配置、日志 配置等。
- 3.初始化路由配置注册路由。
- 4.启动项目: r.Run()。
YAML 配置的优势在哪里 ?
- 1.减少了重复的前缀
- 2.有层级感方便阅读
- 3.支持数组
什么是 viper
viper 是基于 Go语言 实现的 配置解决方案。
什么是JWT
JWT
全称 JSON Web Token它规定了一种Token
实现方式目前多用于前后端分离项目场景下。- JWT 由三部分组成: 头部、载荷、签证。
Gin框架中如何使用Token
- 当 用户登录 时根据 用户信息 生成 token码并将 token码 传递给 前端。
- 当用户再次发送请求时请求连接中会包含用户对应的 token码JWT中间件 会在接收到请求之后自动从 token码 中解析出用户信息并放入请求的上下文
c
中。
简单介绍下 Gin语言 中的中间件
中间件middlewares 在 Gin框架 起到了 功能层 的作用。当用户提交了 数据请求 时功能层 负责将这些请求进行 预处理再向数据库发出 数据交互。
中间件 middlewares 怎么使用的中间件有几种类型
中间件
middlewares
使用use
方法。中间件按 作用范围 可分为三种
全局
中间件: 例: router.Use(Logger(), Recovery())路由组
中间件: 例: userRouter := router.Group(“/user”, CookieMiddleware())单个路由
中间件: 例: router.GET(“/login”, LoginMiddleware, loginHandler)。
Gin框架的 route 实现原理
- gin 的每种方法 (POST, GET …) 都有自己的一颗 路由树。
- 当 gin 收到客户端的请求时, 会去 路由树 里根据 URL 找到相关的 处理函数handler。
Gin框架 响应请求方式有哪几种
以
字符串
方式: c.String(http.StatusOK, “hello world”)
以json
格式: c.JSON(http.StatusOK, gin.H{ }
Gin框架 中 Gin.H 代表什么意思
gin.H
实际上就是map[string]interface{}
。- 引入 gin.H 可以简化生成 json 的方式gin.H 可以嵌套使用。
Gin框架 传输文件使用什么方法
- 上传文件:
c.SaveUploadedFile
(myFile, “./”+myFile.Filename)- 给前端返回文件:
c.File
(“./” + myFile.Filename)
Gin框架中怎么实现 参数校验
- Gin框架 使用
github.com/go-playground/validator
进行 参数校验。- 在 struct 结构体 添加
binding
标签然后调用ShouldBing
方法。
Gin框架如何实现跨域
- 使用官网提供的插件: github.com/gin-contrib/cors。
- 写一个 中间件 来配置 跨域。