request pipeline
NestJS 요청 처리 단계
요청은 컨트롤러로 바로 들어가지 않는다. 공통 처리, 접근 판단, 입력 검증, 응답 변환이 정해진 위치에서 차례로 개입한다.
읽는 법: 앞에서 막고, 가운데서 검증하고, 뒤에서 감싼다단계별 책임을 섞지 않는 것이 핵심이다.
정상 요청이 지나가는 기본 순서
1Middleware
요청 전체에 공통으로 필요한 로깅, CORS, 세션을 먼저 처리한다.
2Guard
사용자가 이 라우트에 접근 가능한지 판단한다.
3Interceptor 전
핸들러 앞뒤를 감싸는 작업을 시작한다.
4Pipe
컨트롤러 매개변수 직전에 변환과 검증을 수행한다.
5Controller
라우트 핸들러가 서비스를 호출한다.
6Interceptor 후
반환값을 응답 규격으로 감싸거나 변환한다.
무엇을 어디에 둘까
01모든 요청 공통
미들웨어
02접근 허용 판단
가드
03입력 DTO 검증
파이프
04응답 래핑과 캐싱
인터셉터