본문 바로가기

[Node JS] NestJs Part 6 [interceptor, filter]

by Jyujae 2022. 7. 29.

1. filter

예외 처리( ex) 에러), 예외를 filltering 할 수 있다

filter.ts 파일을 따로 만들어준다

 

- filter 파일

● 에러를 만났을 때, 원하는 형식을 지켜서 response를 filter 해준다

 

controller 파일

당연히 import를 해줘야하고

class 밑의 함수들에 각각 달아줘도 되지만, 사진처럼 전역에 넣어줘도 잘 작동한다!

@ 문법으로  controller 파일에서 사용해주면 된다

 

- app.ts

필터를 app 전역에도 설정해줄 수 있다

-> response type을 JSON, string, 등 원하는 결과로 return 해 줄 수 있다!

 

 

2. Interceptor

모듈성을 증가시키 위한 패더다임에 영향을 받아서 생긴 기능

각각의 컨트롤러들의 공통적인 기능(재사용 가능한 기능)을 하나의 모듈로 묶어 분리시킨다

 

새로운 interceptor 파일

before -> 컨트롤러가 실행되기 전,  (pre-controller)

after -> 컨트롤러 실행 후  (post-controller)

https://docs.nestjs.com/faq/request-lifecycle

nest js 에서의 lifecycle에 대해서는 official docs를 읽어보자

 

controller.ts

 

성공적으로 GET 을 성공했을 때,