基本定义

gin里面本身就有中间件,脚手架里对中间件做了简单的封装

接口定义

type Fairing interface {

OnRequest(*gin.Context) error

OnResponse(result interface{}) (interface{}, error)

}

OnRequest: 执行控制器方法前,修改如头信息、判断参数等等

OnResponse:执行控制器方法后。可以修改返回值内容

创建全局中间件

其实就是一个Struct 如

type TokenCheck struct {}
func NewTokenCheck() *TokenCheck {
   return &TokenCheck{}
}
func(this *TokenCheck) OnRequest(ctx *gin.Context) error{
      return nil
}
func(this *TokenCheck) OnResponse(result interface{}) (interface{}, error){
   return result,nil  
}

注意点:两个方法必须都有返回值。

最后更新于