728x90
1. Nest.js 요청 사이클 구조
Nest.js는 Node.js 기반의 서버 측 애플리케이션 프레임워크입니다.
요청이 들어오면 미들웨어, 가드, 인터셉터, 파이프 등 여러 컴포넌트를 거쳐서 최종적으로 컨트롤러, 서비스, 레포지토리로 처리됩니다.
✅ Nest.js 사이클 처리 흐름
- Request (요청)
- 클라이언트에서 서버로 요청이 들어옵니다. 예를 들어, POST /users 요청이 들어왔을 때입니다.
- Middleware (미들웨어)
- 요청이 들어오면 먼저 미들웨어가 실행됩니다. 주로 요청의 로그 기록이나 인증을 확인하는 역할을 합니다.
- Guard (가드)
- 요청에 대한 보안 검사를 담당합니다. 예를 들어, 인증된 사용자만 접근할 수 있도록 하는 역할을 합니다.
- Interceptor (인터셉터)
- 요청과 응답을 가로채서, 데이터를 변경하거나 로깅을 추가하는 역할을 합니다. 예를 들어, 응답 데이터를 수정하거나 성능 분석을 할 수 있습니다.
- Pipe (파이프)
- 요청 데이터의 유효성 검증과 변환을 담당합니다. 예를 들어, JSON 데이터를 객체로 변환하거나 데이터 타입을 체크합니다.
- Controller (컨트롤러)
- 최종적으로 요청을 처리하는 부분으로, 요청에 맞는 서비스 메소드를 호출합니다.
- Service (서비스)
- 실제 비즈니스 로직이 서비스에서 처리됩니다. 예를 들어, DB에 데이터를 저장하거나 외부 API를 호출하는 작업이 이루어집니다.
- Repository (레포지토리)
- 데이터베이스와 상호작용하며, 쿼리 실행 및 데이터 저장 등의 역할을 합니다.
✅ 비유
Nest.js 요청 사이클은 마치 음식 주문과 같아요.
- 미들웨어는 주문 접수대에서 주문을 받고,
- 가드는 주문이 유효한지 확인하며,
- 인터셉터는 음식을 조리하기 전에 필요한 변경을,
- 파이프는 음식의 재료가 올바른지 확인하고,
- 컨트롤러는 음식을 준비하고,
- 서비스는 요리사가 음식 레시피를 따라 조리하며,
- 레포지토리는 음식 재료를 저장하고 관리하는 역할을 합니다.
2. Postman 프로그램 설명
Postman은 API 개발, 테스트 및 디버깅을 위한 도구입니다.
API 요청을 쉽게 시뮬레이션하고, HTTP 메소드, 헤더, 본문, 파라미터 등을 구성하여 API를 호출할 수 있습니다.
✅ 주요 기능
- API 요청 테스트: GET, POST, PUT, DELETE 등 다양한 HTTP 메소드 지원
- 요청 데이터와 응답 보기: 요청에 대한 응답을 쉽게 확인
- 컬렉션 기능: 여러 API 테스트를 조직적으로 관리
- 환경 변수: API 호출 시 동적 변수 사용 가능 (예: 인증 토큰)
✅ Postman 사용 예시
- GET 요청: GET https://jsonplaceholder.typicode.com/users
- POST 요청: POST https://jsonplaceholder.typicode.com/users (본문에 JSON 데이터 포함)
- 헤더 추가: 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
'개발자 성장 로드맵 > 백엔드' 카테고리의 다른 글
| Dependency Injection (DI)과 Inversion of Control (IoC) (0) | 2025.07.22 |
|---|---|
| 웹 개발 필수! HTTP 요청과 상태 코드의 모든 것 (1) | 2025.07.21 |
| Next.js와 Express.js의 차이점 (7) | 2025.07.21 |
| 서버 개발의 시작! 백엔드 개발자 되는 법 (0) | 2025.06.21 |