강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

쿠마스님의 프로필 이미지
쿠마스

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

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

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

에러를 발생시킨 부분 코드와 인터셉터를 연결한 모습을 보여주시면 좋을 것 같습니다. 아, 근데 저는 에러에 관해서는 인터셉터보다 익셉션필터에서 주로 처리합니다.

쿠마스님의 프로필 이미지
쿠마스
질문자

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

쿠마스님의 프로필 이미지
쿠마스

작성한 질문수

질문하기