Request Lifecycle
Nest 애플리케이션은 요청 수명 주기 라고 하는 순서대로 요청을 처리하고 응답을 생성한다.
일반적으로 요청은 미들웨어를 통해 가드, 인터셉터, 파이프, 반환 경로의 인터셉터 순으로 흐른다.
미들웨어
- 전역적으로 바인딩된 미들웨어를 먼저 실행
- 이후 모듈 바인딩된 미들웨어를 실행
- 서로 다른 모듈에 걸쳐 바인딩된 미들웨어는 루트 모듈에 바인딩된 미들웨어 실행, imports 배열에 모듈이 추가된 순서대로 미들웨어를 실행
가드
- 글로벌 가드, 컨트롤러 가드, 라우트 가드 순으로 실행
인터셉터
- 요청은 전역, 컨트롤러, 라우트 순으로 확인
- 응답은 라우트, 컨트롤러, 전역 순으로 확인
파이프
- 전역 파이프, 나중에 바인딩 되는 파이프 순으로 실행
- 매개변수 별 파이프가 있는 경우 마지막 매개변수에서 첫번째 매개 변수로 실행
필터
- 라우터, 컨트롤러, 전역 순으로 동작
일반적인 요청 수명 주기 순서
요청
1. 미들웨어
2. 가드
3. 인터셉터(컨트롤러 실행 이전)
4.파이프
5.컨트롤러
5-1.서비스
6. 인터셉터(컨트롤러 실행 이후)
7.예외필터
응답
'Typescript' 카테고리의 다른 글
[NestJs] - Provider 살펴보기 (1) | 2023.10.26 |
---|