NestJS 요청은 Guard, Pipe, Controller, Provider를 지나간다
TypeScript의 장점은 Nest 계층 사이의 계약을 명확하게 만드는 데 있으며 DI가 Provider와 Controller를 연결한다.
기능 단위 의존성 범위를 정한다.
인증·인가 조건을 막는다.
요청 데이터 타입 경계를 만든다.
비즈니스 로직은 DI 대상 Provider가 맡는다.
| 구분 | 의미 | 판단 |
|---|---|---|
| Controller | 요청을 서비스 호출로 연결 | HTTP 경계 담당 |
| Provider | 비즈니스 로직 | DI 컨테이너가 주입 |
| DTO | 요청 데이터 구조 | 검증과 문서화 기준 |
핵심 NestJS의 핵심은 데코레이터보다 요청 전후 계층이 어떤 책임과 타입 계약을 갖는지 구분하는 데 있다.