NestJS Core

Module은 묶고, Controller는 받고, Provider는 처리한다

NestJS의 기본 구조는 요청 경계와 비즈니스 로직을 나누어 변경과 테스트 범위를 작게 만든다.

Module기능 경계 조립

controllers, providers, imports, exports로 의존성 그래프를 만든다.

Controller요청 경계

route decorator, DTO, pipe, status code를 정리하고 service를 호출한다.

Provider실제 처리

service, repository, factory가 주입되어 비즈니스 로직을 수행한다.

순서동작맡는 구성테스트에서 바꾸는 지점
01Route matchHTTP method와 path를 controller method에 매핑Controllerservice mock으로 HTTP 경계 검증
02Service callController는 얇게 남고 provider가 규칙 수행ProvideroverrideProvider로 DB/캐시 대체
03Response반환 값이 interceptor/filter 정책을 거쳐 응답Module 정책TestingModule imports 조정

핵심: Module은 관계를 묶고, Controller는 요청을 정리하며, Provider는 테스트 가능한 로직을 맡는다.