本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

中间件的使用

一、使用中间件

router := gin.New() router.Use(gin.Logger()) router.Use(gin.Recovery())

注意:中间件的回调要先于用户定义的路径处理函数

二、中间价的使用位置说明

中间件的使用顺序绝对了什么时候执行中间件,比如有三个路由:

router := gin.Default()

router.Get("/login",xxx)

router.Get("/user_list",xxx)
router.Get("/news_list",xxx)

加入user_list和news_list需要在登陆后才可以访问,login不要登录认证就可访问,

这时候我们需要一个token认证的中间件,那这个中间件Use的位置会有影响,如下:

router := gin.Default()

router.Get("/login",xxx)

router.User(MiddleWare())

router.Get("/user_list",xxx)
router.Get("/news_list",xxx)

Use不能放在login的前面,不然也会对login进行拦截认证

注意:Use不能放在login的前面,不然也会对login进行拦截认证

三、中间件执行顺序示例

func MiddlewareA() gin.HandlerFunc { return func(c *gin.Context) { fmt.Println("MiddlewareA before request") // before request c.Next() // after request fmt.Println("MiddlewareA after request") } } func MiddlewareB() gin.HandlerFunc { return func(c *gin.Context) { fmt.Println("MiddlewareB before request") // before request c.Next() // after request fmt.Println("MiddlewareB after request") } }

1484人已阅读,今天你学习了吗?

添加新回复
目录