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

接口定义

type Fairing interface {
OnRequest(*gin.Context) error
OnResponse(result interface{}) (interface{}, error)
}
OnRequest: 执行控制器方法前,修改如头信息、判断参数等等
OnResponse:执行控制器方法后。可以修改返回值内容

创建全局中间件

其实就是一个Struct 如

  1. type TokenCheck struct {}
  2. func NewTokenCheck() *TokenCheck {
  3. return &TokenCheck{}
  4. }
  5. func(this *TokenCheck) OnRequest(ctx *gin.Context) error{
  6. return nil
  7. }
  8. func(this *TokenCheck) OnResponse(result interface{}) (interface{}, error){
  9. return result,nil
  10. }

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