nest 구성 요소

2024. 6. 10. 09:53개발/토막난 상식

반응형
  1. DTO (Data Transfer Object):
    • 역할: 데이터 전송 객체는 계층 간 데이터 전송을 위해 사용되는 객체입니다. 주로 컨트롤러와 서비스 간 또는 서비스와 데이터베이스 간의 데이터 교환을 위해 사용됩니다.
    • 예시: 클라이언트에서 서버로 전송되는 폼 데이터나 서버에서 클라이언트로 전달되는 응답 데이터.
  2. Controller:
    • 역할: 컨트롤러는 애플리케이션의 엔드포인트를 정의하고 요청을 처리하는 역할을 합니다. 클라이언트로부터 요청을 받아 비즈니스 로직을 호출하고, 결과를 반환합니다.
    • 예시: 사용자 로그인 요청을 처리하고 인증 결과를 반환하는 API 엔드포인트.
  3. Module:
    • 역할: 모듈은 관련된 기능들을 묶어주는 단위입니다. 애플리케이션을 구성하는 여러 기능을 모듈 단위로 분리하여 관리합니다.
    • 예시: 사용자 관리 모듈, 제품 관리 모듈 등.
  4. Service:
    • 역할: 서비스는 비즈니스 로직을 구현하는 계층입니다. 데이터 처리, 검증, 트랜잭션 관리 등의 주요 로직이 포함됩니다.
    • 예시: 사용자 등록, 로그인, 로그아웃 등의 로직 처리.
  5. Providers:
    • 역할: 프로바이더는 의존성 주입을 통해 필요한 객체를 생성하고 제공하는 역할을 합니다. 보통 서비스, 리포지토리, 기타 유틸리티 등을 주입합니다.
    • 예시: 데이터베이스 연결 객체, 인증 서비스 등.
  6. Schemas:
    • 역할: 스키마는 데이터 구조를 정의하는 역할을 합니다. 주로 데이터베이스 모델이나 데이터 검증을 위해 사용됩니다.
    • 예시: MongoDB의 Mongoose 스키마, GraphQL 스키마 등.
  7. Middleware:
    • 역할: 미들웨어는 요청과 응답을 가로채서 처리하는 역할을 합니다. 요청의 전처리, 인증, 로깅, 에러 처리 등을 수행할 수 있습니다.
    • 예시: JWT 인증 미들웨어, 요청 로깅 미들웨어 등.