인프런 커뮤니티 질문&답변
intercepter 질문드립니다.
해결된 질문
작성
·
140
0
intercepter을 이용하여 사용자에게 데이터를 전달하기전에 한번 가공을 해서 전달할 수 있는걸로 아는데요,
throw new NotFoundException 이런식으로 에러를 발생시킨부분들은 어떻게 가공을 할수있나요?
공식문서에
import {
Injectable,
NestInterceptor,
ExecutionContext,
BadGatewayException,
CallHandler,
} from '@nestjs/common';
import { Observable, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators';
@Injectable()
export class ErrorsInterceptor implements NestInterceptor {
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
return next
.handle()
.pipe(catchError((err) => throwError(() => new BadGatewayException())));
}
}
다음과 같이 되어있어서 해보았는데 catchError에 걸리지않고 바로 넘어가는듯 했었습니다.
답변 1
1
에러를 발생시킨 부분 코드와 인터셉터를 연결한 모습을 보여주시면 좋을 것 같습니다. 아, 근데 저는 에러에 관해서는 인터셉터보다 익셉션필터에서 주로 처리합니다.






아! 익셉션필터를 이용하면 간단하게 되는군요 감사합니다!