request pipeline

NestJS 요청 처리 단계

요청은 컨트롤러로 바로 들어가지 않는다. 공통 처리, 접근 판단, 입력 검증, 응답 변환이 정해진 위치에서 차례로 개입한다.

읽는 법: 앞에서 막고, 가운데서 검증하고, 뒤에서 감싼다단계별 책임을 섞지 않는 것이 핵심이다.

정상 요청이 지나가는 기본 순서

1Middleware

요청 전체에 공통으로 필요한 로깅, CORS, 세션을 먼저 처리한다.

2Guard

사용자가 이 라우트에 접근 가능한지 판단한다.

3Interceptor 전

핸들러 앞뒤를 감싸는 작업을 시작한다.

4Pipe

컨트롤러 매개변수 직전에 변환과 검증을 수행한다.

5Controller

라우트 핸들러가 서비스를 호출한다.

6Interceptor 후

반환값을 응답 규격으로 감싸거나 변환한다.

무엇을 어디에 둘까

01모든 요청 공통

미들웨어

02접근 허용 판단

가드

03입력 DTO 검증

파이프

04응답 래핑과 캐싱

인터셉터