Skip to content

Day 18 - 中间件 ​

中间件定义 ​

go
func Logger() gin.HandlerFunc {
    return func(c *gin.Context) {
        // 前置处理
        start := time.Now()
        
        c.Next() // 执行后续处理
        
        // 后置处理
        fmt.Println(time.Since(start))
    }
}

// 使用
r.Use(Logger())

内置中间件 ​

go
r.Use(gin.Logger())
r.Use(gin.Recovery())
r.Use(cors.Default())

自定义认证中间件 ​

go
func AuthMiddleware() gin.HandlerFunc {
    return func(c *gin.Context) {
        token := c.GetHeader("Authorization")
        if token == "" {
            c.JSON(401, gin.H{"error": "Unauthorized"})
            c.Abort()
            return
        }
        c.Next()
    }
}

📅 学习进度 ​

Day主题状态
01-17基础/Gin✅
18中间件✅
19数据库-GORM⬜

本文为Go 30天学习计划第18天内容 ​

📚 导航 ​

| ← Day 17 - 上一章 | Day 19 - 下一章 →

最后更新: