Toasobi
go-zero添加中间件,handler划分group
本文最后更新于2022年09月15日,已超过842天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
go-zero不支持对单个handler添加中间件,只能先定义一个组再对组加。
以下为局部中间件示例
这里还划分了handler的group
然后生成代码,就会自动生成middleware文件,在里面正常编写中间件即可
然后记得要在svc下添加中间件初始化,类型是rest.Middleware,初始化则是middleware.NewTestMiddleware().Handle
全局中间件呢?
一般在user.go中添加。先新建一个与user.api同级的文件夹common,再在下面建一个middleware,里面编写一些全局中间件(同样要拿到局部中间件的格式编写)。
然后在user.go下添加这么一行代码 server.Use(middleware.NewSetUidToCtxMiddleware().Handle) //注意这里的middleware是全局middleware,不要调用错了
补充:在全局中间件和局部中间件都存在的时候,先用的是全局的中间件,再用的局部的中间件,接着进逻辑,再出局部,最后出全局。