Skip to content

class, interface 설명

develjsw edited this page Jun 2, 2023 · 2 revisions
* 클래스명은 필자가 설정한 명칭이며 사용 용도에 맞게 작성 함

[ ValidationPipe implements PipeTransform<any> ]
- 입력 데이터 유효성 검사에 사용
- DTO에서 사용하는 class-validator( @IsNotEmpty, @IsOptional @IsString ...)와 함께 사용 됨 
- 요청 데이터의 유효성 검사 시행, 검증 규칙에 위배되는 경우 예외 발생 시킴

[ ResponseInterceptor<T> implements NestInterceptor<T, Response<T>> ]
- 요청과 응답을 가로채 변형/부가적인 로직 추가에 사용 됨
- 전역 또는 특정 컨트롤러나 핸들러에 대해 지정된 로직 실행 가능
- 주로 로깅, 데이터 변환, 인증, 캐싱 등의 기능 구현에 사용되나 우리 서비스에서는 응답 데이터 변환에만 사용 중
- 요청 전/후 또는 에러 발생 시 로직 실행 가능

[ AllExceptionFilter<T> implements ExceptionFilter ]
- 예외 처리에 사용
- 예외 발생 시 예외 캐치 및 적절한 응답 생성하여 클라이언트에 반환 가능
- 예외를 캐치하고 적절한 상태 코드와 메세지를 응답으로 반환하는 역할 수행