NestJS

NestJS 요청은 Guard, Pipe, Controller, Provider를 지나간다

TypeScript의 장점은 Nest 계층 사이의 계약을 명확하게 만드는 데 있으며 DI가 Provider와 Controller를 연결한다.

01 ModuleController와 Provider 등록

기능 단위 의존성 범위를 정한다.

02 Guard핸들러 실행 전 권한 판단

인증·인가 조건을 막는다.

03 Pipe / DTO입력 변환과 검증

요청 데이터 타입 경계를 만든다.

04 Controller → Provider라우트에서 서비스 호출

비즈니스 로직은 DI 대상 Provider가 맡는다.

구분의미판단
Controller요청을 서비스 호출로 연결HTTP 경계 담당
Provider비즈니스 로직DI 컨테이너가 주입
DTO요청 데이터 구조검증과 문서화 기준

핵심 NestJS의 핵심은 데코레이터보다 요청 전후 계층이 어떤 책임과 타입 계약을 갖는지 구분하는 데 있다.