• 使用中间件

    使用中间件

    1. func main() {
    2. // 新建一个没有任何默认中间件的路由
    3. r := gin.New()
    4. // 全局中间件
    5. // Logger 中间件将日志写入 gin.DefaultWriter,即使你将 GIN_MODE 设置为 release。
    6. // By default gin.DefaultWriter = os.Stdout
    7. r.Use(gin.Logger())
    8. // Recovery 中间件会 recover 任何 panic。如果有 panic 的话,会写入 500。
    9. r.Use(gin.Recovery())
    10. // 你可以为每个路由添加任意数量的中间件。
    11. r.GET("/benchmark", MyBenchLogger(), benchEndpoint)
    12. // 认证路由组
    13. // authorized := r.Group("/", AuthRequired())
    14. // 和使用以下两行代码的效果完全一样:
    15. authorized := r.Group("/")
    16. // 路由组中间件! 在此例中,我们在 "authorized" 路由组中使用自定义创建的
    17. // AuthRequired() 中间件
    18. authorized.Use(AuthRequired())
    19. {
    20. authorized.POST("/login", loginEndpoint)
    21. authorized.POST("/submit", submitEndpoint)
    22. authorized.POST("/read", readEndpoint)
    23. // 嵌套路由组
    24. testing := authorized.Group("testing")
    25. testing.GET("/analytics", analyticsEndpoint)
    26. }
    27. // 监听并在 0.0.0.0:8080 上启动服务
    28. r.Run(":8080")
    29. }