Go HTTP 中间件怎么实现?标准库与 Gin 两种写法
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
中间件 = 包装 Handler 的函数:func Middleware(next http.Handler) http.Handler,在请求前后执行逻辑(日志、鉴权、限流、恢复)。标准库链式组合:handler = A(B(final))。Gin 中间件:func(c *gin.Context) { 前处理; c.Next(); 后处理 },c.Abort() 中断、c.Set/Get 传值。典型:RequestID 生成、panic 恢复(Recovery)、CORS、JWT 鉴权、访问日志、限流。注意顺序:先注册的中间件先执行前处理、后执行后处理。
回复
0 条回复