0
点赞
收藏
分享

微信扫一扫

gin框架之中间件

gin中间件通俗解释:在接收请求时,需要对一些请求座一些额外处理时候,比如有没有登录,有没有权限操作次方法,这些处理也叫钩子函数或者中间件。

//体验,实例1:
//定义一个中间件
func deleteMiddleWare(c *gin.Context){
    token := c.Query("token") //注意这里并不是真的获取token只是一个参数模拟一下
    if token == ""{
    	//没有token,说明没有登录
        c.String(401,"用户未登录")
        c.Abort() //终止请求,注意此方法只会终止请求并不会终止整个函数
    }
    fmt.Println("用户未登录")
}

//路由写法 ,中间的为自定义中间件,末尾的是处理路由请求的函数
r.POST("/delete", deleteMiddleWare, getUserInfo)
//如果有多个中间件则是按照顺序执行,先进先出的原则
r.POST("/delete",MiddleWare1,MiddleWare2,MiddleWare3, getUserInfo)
//如果是全局中间件则是在路由分组中设置

中间件:Next()、Abort()

Next: 不执行该中间件中,next后面的语句,等待其他的中间件及路由处理函数后,在执行后面的语句,意为如果有多个中间件是执行顺序为先进后出倒序的方式。

Abort:执行当前中间件所有的代码,但是会终止后面所有的执行

举报

相关推荐

0 条评论