中间件使用
- 声明一个中间件方法
如果要继续执行,
handlerFunc()就需要使用echoMiddleware := uc.MiddlewareInterceptor(func(writer uc.ResponseWriter, request uc.Request, handlerFunc uc.HandlerFunc) { log.Println(request.URL.Query().Get("echo")) writer.Data("echo middle").Send() handlerFunc(writer, request) // here }) - 加入到中间件群组
middleware := uc.MiddlewareChain{ echoMiddleware, } - 进行使用,2种方法都能使用
- 普通路由
r.Get("test_middle", middleware.Handler(func(writer uc.ResponseWriter, request uc.Request) { writer.Data("hello world").Send() })) - 普通路由
r.Get("echo", func(writer uc.ResponseWriter, request uc.Request) { writer.Data("hello new_middle echo").Send() }, middleware) - 群组路由
r.Group("new_middle", func(groups *uc.Groups) { groups.Get("echo", func(writer uc.ResponseWriter, request uc.Request) { writer.Data("hello new_middle echo").Send() }, logMiddlewareGroup) }, middleware)
- 普通路由