跳到主要内容

使用中间件



使用中间件
func main() {
// 创建一个默认不带任何中间件的路由器
r := gin.New()

// 全局中间件
// 即使设置GIN_MODE=release,日志中间件也会将日志写入到gin.DefaultWriter。
// 默认情况下,gin.DefaultWriter = os.Stdout
r.Use(gin.Logger())

// 恢复中间件将会从任何异常种复原,并且返回500状态码
r.Use(gin.Recovery())

// 对于每个路由中间件,您可以根据需要添加任意数量。
r.GET("/benchmark", MyBenchLogger(), benchEndpoint)

// 权限、认证路由组
// authorized := r.Group("/", AuthRequired())
// 如下
authorized := r.Group("/")
// 组级别中间件,可以定制化创建
// AuthRequired()中间件仅会存在于认证路由组
authorized.Use(AuthRequired())
{
authorized.POST("/login", loginEndpoint)
authorized.POST("/submit", submitEndpoint)
authorized.POST("/read", readEndpoint)

// 嵌套组
testing := authorized.Group("testing")
testing.GET("/analytics", analyticsEndpoint)
}

// 监听端口:8080
r.Run(":8080")
}