[NestJS] 예외필터

김택수·2022년 5월 2일
0

NestJS에서 http에 대한 에러는 HttpException으로 처리한다.

기본적인 사용방법

throw new HttpException('에러메시지', 에러코드)
// 예시
@Get()
getAllCat() {
	throw new HttpException('api error', 401)
}

또한, 프론트엔드와 백엔드 간의 상호합의를 통해 에러 시 제공하는 데이터를 커스텀해야할 경우가 생길 수도 있는데, HttpException을 통해 json객체를 보내주면 프론트엔드에서 사용할 수 있도록 커스텀해줄 수 있다.

하지만 수많은 데코레이터로 이루어진 애플리케이션이라면 데코레이터마다 HttpException을 이용한 예외필터들을 하드코딩해줘야 하기 때문에, NestJS 공식문서에 따르면, 예외필터를 모듈화 시켜 @UseFilers 데코레이터를 통해 각각, 또는 전역에 선언해 필터를 해줄 수 있다.

각각 데코레이터마다 적용하고 싶으면 각 데코레이터의 하단에 @UseFilters 데코레이터를 사용해주면 되고, 전역으로 적용하고 싶으면 class 상단에 @Controller와 붙혀서 사용해주면 된다.

profile
개발자 키우기 Lv1

0개의 댓글