中间件基础
中间件是在接口处理函数前后执行的一段逻辑。
常见用途:
- 记录请求日志。
- 统一处理 panic。
- 登录校验。
- 权限校验。
- 跨域处理。
- 请求耗时统计。
一、最简单的中间件
使用:
二、c.Next 的含义
执行顺序:
所以 c.Next() 前适合做前置处理,c.Next() 后适合做收尾处理。
三、c.Abort 中断请求
登录校验失败时,不应该继续执行后面的接口。
使用:
没有 Authorization 请求头时,请求会直接返回 401,不会进入 getProfile。
四、全局中间件和局部中间件
全局中间件:
所有路由都会执行。
局部中间件:
只有这个接口会执行。
分组中间件:
只有 /admin 分组下的接口会执行。
五、中间件顺序很重要
请求执行顺序大致是:
所以日志、恢复、请求 ID 等基础中间件一般放前面,业务鉴权中间件放对应分组上。

