[NestJS] Nest.js 기본 개념 및 구조(Module, Controller, Service)

겨레·2025년 2월 18일
0

📍 Nest.js가 어떻게 클라이언트로부터 요청을 처리하는지에 대한 플로우

👉 Nest.js는 크게 Module, Controller, Service 이렇게 3가지로 구분됨.

  • 클라이언트로부터 요청이 들어오면 먼저 컨트롤러가 처리함.
  • 요청을 받은 컨트롤러는 요청을 처리하기 위해 요청사항을 서비스로 보냄.
  • 서비스는 요청사항을 처리한 다음 다시 컨트롤러를 통해 응답하게 됨.
    이때, 컨트롤러와 서비스가 동작하려면 모듈에 등록이되어야 가능함!

Controller

  • HTTP 요청을 처리하기 위해 컨트롤러를 사용
  • 특정 URI 엔드포인트와 HTTP 요청 메서드를 처리하는 메서드를 정의함.

Service

  • Nest.js에서는 서비스를 사용해 컨트롤러에서 사용할 비즈니스 로직을 구현함.
  • 서비스는 컨트롤러와 같은 클래스이며, @Injectable 데코레이터를 사용해 주입.

Module

  • Nest.js에서 모듈을 사용해 애플리케이션을 구성함.
  • 모듈은 특정 기능 또는 비즈니스 로직을 담당하는 컴포넌트 집합.
  • 애플리케이션에 필요한 모든 컨트롤러, 서비스, 프로바이더 및 미들웨어 등을 모듈에 등록해야 사용 가능함.


(+) ✔ 프로바이더(Providers) 👉 프로바이더는 Nest.js의 기본 개념

  • Nest.js에서는 프로바이더를 사용해 의존성 주입을 관리함.
  • 프로바이더는 컨트롤러나 서비스에서 사용하는 객체, 함수 등을 제공함.
profile
호떡 신문지에서 개발자로 환생

0개의 댓글