我创建了一个拦截器,如下所示,我希望在全局范围内使用它。我将拦截器添加到我的模块中并进行设置,以便 Nest js 应该根据NestJS Docs为我处理 DI ,但是当我向我的服务发出请求时,我收到一条错误消息,表明Cannot read property log of undefinedDI 似乎未被采用由 NestJS 照顾。
拦截器代码:
import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { LoggingService } from './logging.service';
@Injectable()
export class AuthInterceptor implements NestInterceptor {
constructor(private readonly loggingService: LoggingService) { }
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
return next
.handle()
.pipe(
map((response) => {
this.loggingService.log('Responded successfully');
return response;
})
);
} …Run Code Online (Sandbox Code Playgroud) nestjs ×1