TypechoJoeTheme

Toasobi的博客

go-zero添加中间件,handler划分group

本文最后更新于2022年09月15日,已超过734天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

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,不要调用错了

补充:在全局中间件和局部中间件都存在的时候,先用的是全局的中间件,再用的局部的中间件,接着进逻辑,再出局部,最后出全局。

朗读
赞(0)
评论 (0)