🔧 REST API 서버 만들기
📖 정의
REST API는 HTTP 프로토콜을 사용하여 클라이언트와 서버가 데이터를 주고받는 웹 서비스 인터페이스입니다. Express.js는 Node.js 기반의 경량 웹 프레임워크로, REST API를 빠르고 쉽게 구축할 수 있게 해줍니다. CRUD 작업(생성, 조회, 수정, 삭제)을 HTTP 메서드(GET, POST, PUT, DELETE)로 구현합니다.
🎯 비유로 이해하기
레스토랑 시스템
REST API를 레스토랑에 비유하면:
레스토랑 = API 서버
├─ 웨이터 = API 엔드포인트
├─ 메뉴판 = API 문서
├─ 주문서 = HTTP 요청
└─ 요리 = HTTP 응답
손님(클라이언트)의 주문:
GET /menu → 메뉴판 보여주세요 (조회)
POST /orders → 주문할게요 (생성)
GET /orders/123 → 제 주문 어디까지 왔나요? (조회)
PUT /orders/123 → 주문 변경할게요 (수정)
DELETE /orders/123 → 주문 취소할게요 (삭제)
웨이터는 정해진 규칙대로만 응답!
도서관 시스템
도서관 = REST API
├─ 사서 = 서버
├─ 도서 목록 = 데이터베이스
└─ 대출증 = 인증 토큰
REST 원칙:
1. 무상태(Stateless)
└─ 사서는 이전 대화를 기억 안 함
└─ 매번 대출증(토큰)을 보여줘야 함
2. 자원 기반(Resource-based)
└─ /books/123 = 도서 번호 123번
└─ /users/456 = 회원 번호 456번
3. HTTP 메서드로 행동 표현
└─ GET = 책 찾기
└─ POST = 신규 등록
└─ PUT = 정보 수정
└─ DELETE = 폐기