NestJS 환경 구성 - Part.3 NestJS 구성과 로직 흐름

누군가·2024년 3월 6일
0

NestJS 환경 구성

목록 보기
3/3

구성

  • NestJS는 기본적으로 Module, Controller, Service 등으로 구성됩니다.

Module

  • 애플리케이션 구조를 구성하는데 사용하는 메타데이터를 제공하는 클래스입니다.
  • 각 응용 프로그램에는 하나 이상의 모듈이 존재합니다.
  • 유사하거나 동일한 기능 들을 집합하는 역할을 하며, 구성 요소를 구성하기에 효과적인 방법입니다.
  • 즉, 기능 별로 생성된다고 보시면 됩니다.
    • 예, 사용자 모듈, 주문 모듈 등

Controller

  • 컨트롤러는 요청을 받아 클라이언트에게 응답을 반환하는 역할을 합니다.
  • 컨트롤러에 대한 개념은 다른 곳에서도 많이 사용되는 개념이므로 이정도만 작성하고 넘어가겠습니다.

Service

  • 일반적으로 비즈니스 로직을 수행하는 역할을 합니다.
  • 서비스는 데이터 유효성 체크, DB 아이템 생성 등의 작업을 합니다.

로직

  • 위에서 설명한 구조를 기반으로 NestJS 프로젝트의 로직 흐름을 알아보도록 합니다.
  • 기본적인 로직은 요청 > 컨트롤러 > 서비스 > 응답의 구조를 취하고 있습니다.
  1. main.ts에서 App 모듈 생성 및 실행을 하며, 소스코드 내에 선언된 포트 번호로 요청을 대기합니다.

  2. app.module.ts에는 컨트롤러와 서비스가 등록되어 있습니다.

  3. 클라이언트가 엔드포인트 (예를 들면, localhost:3000/)로 요청합니다.

  4. 엔드포인트가 /인 컨트롤러를 호출합니다.

  5. 컨트롤러에서 알맞은 경로로 라우팅을 진행하며, 해당하는 핸들러로 이동하여 연결된 서비스를 호출합니다.

  6. 서비스에서 정의되어 있는 응답을 반환합니다.

Reference

https://velog.io/@ksone02/NestJS-시작하기-구조

https://anywaydevlog.tistory.com/54

profile
개발 중에 알게된 내용을 공유합니다 (나도 기억할겸)

0개의 댓글