상똥이의 Back-End 공부방

[Nest.js] 라이프사이클 정리 본문

Nest.JS

[Nest.js] 라이프사이클 정리

상똥백 2024. 9. 8. 19:40

[라이프사이클 요약]

1. 미들웨어

- 경로 처리기 이전에 호출됨

- 요청 & 응답 객체에 접근 가능하며, 변화시킴

- 기존 Express 미들웨어 라이브러리 지원(cors, body-parser, morgan 등)

- 인증(토큰 유효성, 요청 객체에 props 첨부하기 등) 레이어를 처리하기 좋은 후보

 

2. 가드

- 특정 조건에 따라 주어진 요청을 처리할지 여부를 결정 (접근 제어 목록, 역할, 허가 등)

- 인가 레이어와 비슷

- ExecutionContext에 접근할 수 있음

 

(경로 처리기 이전 단계)

 

3. 인터셉터

- 경로 처리기 전후 모두에 호출 가능

- 들어오는 데이터를 변화시킴

- 반환되는 데이터를 변화시킴

 

4. 파이프

- 경로 처리기에 들어가는 데이터를 젼화시킴

- 들어오는 데이터 유효성 검사

- 특정 데이터 속성 제거

- 내장된 파이프: ValidationPipe, ParseIntPipe, ParseUUIDPipe

 

5. 경로 처리기

- 들어오는 요청을 처리

- 데이터베이스와 상호작용

- 클라이언트에 보낼 적절한 응답 생성

 

6. 서비스 (존재하는 경우)

 

(경로 처리기 이후 단계)

 

7. 예외 필터 (예외가 발생하는 경우)

 

8. 응답