Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
关闭
Previous
Previous
Next
Next
在Gin框架中,**中间件**(Middleware)指的是可以拦截**http请求-响应**生命周期的特殊函数,在请求-响应生命周期中可以注册多个中间件,每个中间件执行不同的功能,一个中间执行完再轮到下一个中间件执行。 **中间件的常见应用场景如下:** - 请求限速 - api接口签名处理 - 权限校验 - ... > 提示:如果你想拦截所有请求做一些事情都可以开发一个中间件函数去实现。 ## 1.使用中间件 ```go func main() { r := gin.New() // 通过use设置全局中间件 // 设置日志中间件,主要用于打印请求日志 r.Use(gin.Logger()) // 设置Recovery中间件,主要用于拦截paic错误,不至于导致进程崩掉 r.Use(gin.Recovery()) // 忽略后面代码 } ``` ## 2.自定义中间件 下面我们来看一下gin中的中间件 ```go // Use attaches a global middleware to the router. ie. the middleware attached though Use() will be // included in the handlers chain for every single request. Even 404, 405, static files... // For example, this is the right place for a logger or error management middleware. func (engine *Engine) Use(middleware ...HandlerFunc) IRoutes { engine.RouterGroup.Use(middleware...) engine.rebuild404Handlers() engine.rebuild405Handlers() return engine } ```
登录查看更多内容
【Gin实战系列】中间件使用
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-09-02
修改于
2023-09-02
尚未登录
登录 / 注册
专栏目录
【Gin实战系列】快速入门
【Gin实战系列】项目结构
【Gin实战系列】项目配置
【Gin实战系列】控制器于路由
【Gin实战系列】请求参数处理
【Gin实战系列】校验错误信息
【Gin实战系列】服务编写
【Gin实战系列】模型定义
【Gin实战系列】数据库操作
【Gin实战系列】请求响应处理
【Gin实战系列】统一结构响应处理
【Gin实战系列】中间件使用
【Gin实战系列】日志使用
【Gin实战系列】cookie处理
【Gin实战系列】session处理
【Gin实战系列】模板渲染
【Gin实战系列】实例:密码加密
【Gin实战系列】实例:登录注册
【Gin实战系列】jwt身份认证
【Gin实战系列】使用 swagger 文档
【Gin实战系列】实例:文件上传