REST 기반 API는 웹에서 시스템 간의 통신을 간단하고 일관되게 만들기 위한 아키텍처 스타일입니다. REST는 Representational State Transfer의 약자이며, 주로 HTTP 프로토콜을 사용합니다.
🧩 REST의 주요 구성 요소
1. 자원(Resource)
-
URL로 식별됩니다.
-
예:
https://api.example.com/users/1→ 사용자 ID가 1번인 자원을 의미
2. 행동(HTTP 메서드)
| 메서드 | 의미 | 설명 |
|---|---|---|
| GET | 조회 | 자원 정보를 가져옵니다. |
| POST | 생성 | 새로운 자원을 서버에 생성합니다. |
| PUT | 전체 수정 | 자원을 전체적으로 갱신합니다. |
| PATCH | 부분 수정 | 자원의 일부분만 변경합니다. |
| DELETE | 삭제 | 자원을 삭제합니다. |
3. 표현(Representation)
-
자원의 상태는 JSON 또는 XML 등의 포맷으로 주고받습니다.
-
보통 REST API에서는 JSON이 가장 많이 사용됩니다.
🔄 REST의 6가지 원칙
-
클라이언트-서버 구조
-
클라이언트는 UI/UX를, 서버는 데이터 처리와 저장을 담당합니다.
-
-
무상태성(Stateless)
-
서버는 요청 간의 상태를 저장하지 않습니다. (매 요청마다 모든 정보가 포함되어야 함)
-
-
캐시 처리 가능
-
응답 결과를 캐시해 성능을 향상시킬 수 있습니다.
-
-
계층 구조
-
클라이언트는 중간 서버가 있는지 여부를 알 필요 없이 요청을 보냅니다.
-
-
일관된 인터페이스
-
URI와 HTTP 메서드를 통일성 있게 사용해야 합니다.
-
-
Code on Demand (선택 사항)
-
클라이언트가 실행 가능한 코드를 서버로부터 받을 수 있습니다. (자주 사용되진 않음)
-
📦 REST API 예시
사용자 정보를 가져오기
GET /users/1
응답:
{
"id": 1,
"name": "홍길동",
"email": "hong@example.com"
}
새 사용자 등록
POST /users
Content-Type: application/json
{
"name": "김영희",
"email": "kim@example.com"
}
✅ REST API의 장점
-
HTTP 기반으로 쉽고 널리 사용됨
-
클라이언트/서버 구조로 유지보수 용이
-
URL 설계가 직관적이고 가독성 높음
-
JSON을 사용해 가볍고 빠름
댓글 없음:
댓글 쓰기
참고: 블로그의 회원만 댓글을 작성할 수 있습니다.