nest 中的guard 如何操作redis呢
在main.ts中
// 使用全局过滤器
app.useGlobalGuards(new AuthGuard());
在app.module.ts 中我初始化了redis
这时候,authguard访问不了redis: An argument for ‘redisService’ was not provided.
这里我应该怎么搞呢。
多谢·
2 回复
全局 pipe/guards/interceptor 这些独立于模块之外, 所以注入的时候找不到 redisService. nest 5.0 以下可以 select 模块让他找到,
const authGuard = app
.select(XXXModule)
.get(XXXGuard/Pipe/Interceptor);
app.useGlobalGuards(authGuard);
以上的版本, 没玩过, 官网找了找 如下, 你可以试试 传送门
@yviscool 感谢,这种方式可以~
我理解,这时候的guard 其实是归属于app模块的,app里面注入了,所以可以使用。不知道我的理解对不对~