GO 语言 gin 第6篇 router中使用中间件

package main

import (
   "github.com/gin-gonic/gin"
   _ "github.com/jinzhu/gorm/dialects/mysql"
)

//实现单例模式传递(可能理解的不对)
var r *gin.Engine

func main() {

   //创建一个没有任何中间件的路由
   r = gin.New()

   //全局中间件
   // Logger中间件 将 写日志到 gin.DefaultWriter,即使你设置 GIN_MODE=release
   // 默认 gin.DefaultWriter = os.Stdout
   r.Use(gin.Logger())

   //Recovery 中间件 从任何 panic 恢复,如果出现panic , 他会写一个500 的错误
   r.Use(gin.Recovery())

   // 每个路由中间件,能添加任意数量的中间件
   // r.GET("/benchmark",MyBenchLogger(),benchEndPoint)

   // 授权组
   //autoorized := r.Group("/",AuthRequired())

   // 还可以这样
   authorized := r.Group("/")

   authorized.Use(AuthRequired())
   {
      authorized.POST("/login", loginEndpoint)
      authorized.POST("/submit", submitEndpoint)
      authorized.POST("/read", readEndpoint)
   }

   r.Run(":3000")
}

func AuthRequired() gin.HandlerFunc{
   return func(context *gin.Context) {}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值