728x90

1. Nest.js 요청 사이클 구조

Nest.js는 Node.js 기반의 서버 측 애플리케이션 프레임워크입니다.
요청이 들어오면 미들웨어, 가드, 인터셉터, 파이프 등 여러 컴포넌트를 거쳐서 최종적으로 컨트롤러, 서비스, 레포지토리로 처리됩니다.

✅ Nest.js 사이클 처리 흐름

  1. Request (요청)
    • 클라이언트에서 서버로 요청이 들어옵니다. 예를 들어, POST /users 요청이 들어왔을 때입니다.
  2. Middleware (미들웨어)
    • 요청이 들어오면 먼저 미들웨어가 실행됩니다. 주로 요청의 로그 기록이나 인증을 확인하는 역할을 합니다.
  3. Guard (가드)
    • 요청에 대한 보안 검사를 담당합니다. 예를 들어, 인증된 사용자만 접근할 수 있도록 하는 역할을 합니다.
  4. Interceptor (인터셉터)
    • 요청과 응답을 가로채서, 데이터를 변경하거나 로깅을 추가하는 역할을 합니다. 예를 들어, 응답 데이터를 수정하거나 성능 분석을 할 수 있습니다.
  5. Pipe (파이프)
    • 요청 데이터의 유효성 검증변환을 담당합니다. 예를 들어, JSON 데이터를 객체로 변환하거나 데이터 타입을 체크합니다.
  6. Controller (컨트롤러)
    • 최종적으로 요청을 처리하는 부분으로, 요청에 맞는 서비스 메소드를 호출합니다.
  7. Service (서비스)
    • 실제 비즈니스 로직이 서비스에서 처리됩니다. 예를 들어, DB에 데이터를 저장하거나 외부 API를 호출하는 작업이 이루어집니다.
  8. Repository (레포지토리)
    • 데이터베이스와 상호작용하며, 쿼리 실행데이터 저장 등의 역할을 합니다.

✅ 비유

Nest.js 요청 사이클은 마치 음식 주문과 같아요.

  • 미들웨어주문 접수대에서 주문을 받고,
  • 가드주문이 유효한지 확인하며,
  • 인터셉터음식을 조리하기 전에 필요한 변경을,
  • 파이프음식의 재료가 올바른지 확인하고,
  • 컨트롤러음식을 준비하고,
  • 서비스요리사가 음식 레시피를 따라 조리하며,
  • 레포지토리음식 재료저장하고 관리하는 역할을 합니다.

2. Postman 프로그램 설명

PostmanAPI 개발, 테스트 및 디버깅을 위한 도구입니다.
API 요청을 쉽게 시뮬레이션하고, HTTP 메소드, 헤더, 본문, 파라미터 등을 구성하여 API를 호출할 수 있습니다.

✅ 주요 기능

  • API 요청 테스트: GET, POST, PUT, DELETE 등 다양한 HTTP 메소드 지원
  • 요청 데이터와 응답 보기: 요청에 대한 응답을 쉽게 확인
  • 컬렉션 기능: 여러 API 테스트를 조직적으로 관리
  • 환경 변수: API 호출 시 동적 변수 사용 가능 (예: 인증 토큰)

✅ Postman 사용 예시

  1. GET 요청: GET https://jsonplaceholder.typicode.com/users
  2. POST 요청: POST https://jsonplaceholder.typicode.com/users (본문에 JSON 데이터 포함)
  3. 헤더 추가: Authorization: Bearer <token>

3. HTTP 메소드 설명

✅ 1. POST

  • 서버에 새로운 리소스를 생성할 때 사용됩니다.
  • 예: 새로운 사용자를 추가하기 위한 POST /users

✅ 2. PUT

  • 서버에서 기존 리소스를 업데이트 할 때 사용됩니다. 전체 업데이트입니다.
  • 예: PUT /users/1 → ID가 1인 사용자의 데이터를 전체 수정

✅ 3. DELETE

  • 서버에서 리소스를 삭제할 때 사용됩니다.
  • 예: DELETE /users/1 → ID가 1인 사용자를 삭제

✅ 4. GET

  • 서버에서 리소스를 조회할 때 사용됩니다. 데이터를 요청하고 서버는 응답합니다.
  • 예: GET /users → 모든 사용자를 조회하거나 GET /users/1 → 특정 사용자를 조회

✅ 5. PATCH

  • 서버에서 리소스를 부분적으로 수정할 때 사용됩니다.
  • 예: PATCH /users/1 → ID가 1인 사용자의 일부 속성만 수정

✅ 비유

POST새로운 집을 짓는 것과 같아요.
GET집에 들어가서 무엇이 있는지 확인하는 것과 비슷하죠.
PUT기존 집을 리모델링하는 것, DELETE집을 철거하는 것,
PATCH집의 일부만 수리하는 것입니다.


4. 요약

  • Nest.js는 복잡한 애플리케이션 구조를 효율적으로 처리하기 위해 미들웨어, 가드, 인터셉터, 파이프 등의 여러 요청 처리 흐름을 제공합니다.
  • Postman은 API 요청을 테스트하고 디버깅하는 강력한 도구입니다.
  • HTTP 메소드는 요청에 따라 리소스를 생성, 수정, 삭제, 조회하는 데 사용됩니다.
728x90

+ Recent posts