Nest Architecture

NestJS 요청 처리 지도

NestJS는 요청을 컨트롤러에서 받고, 서비스에서 비즈니스 로직을 처리하며, 모듈로 관련 기능을 묶는 구조를 기본으로 합니다.

RequestHTTP 요청 진입
Controller라우팅과 입력
Service업무 로직
Response결과 반환
01

Module

관련 컨트롤러와 프로바이더를 하나의 기능 단위로 조직합니다.

02

Controller

라우트와 메서드를 선언해 요청이 들어오는 문을 만듭니다.

03

Provider

서비스, 저장소, 헬퍼처럼 주입 가능한 객체를 담당합니다.

04

DI Container

필요한 의존성을 직접 만들지 않고 Nest가 연결하도록 합니다.

읽는 순서

  • 새 기능을 볼 때는 모듈에서 시작해 컨트롤러와 서비스를 따라갑니다.
  • 컨트롤러에 로직이 쌓이면 테스트와 재사용이 어려워집니다.
  • 프로바이더 분리는 규모가 커질수록 유지보수 비용을 줄여 줍니다.

역할 분리

Module조립
Controller입출구
Service규칙
Provider주입 대상