REST API란?
REST API는 웹에서 데이터를 주고받는 표준 방식입니다. URL로 자원을 지정하고, HTTP 메서드(GET, POST 등)로 어떤 작업을 할지 정합니다. 대부분의 웹 서비스가 이 방식을 사용합니다.
쉽게 이해하기
비유로 이해하기
REST API는 식당 메뉴판과 같습니다.
URL = 메뉴 이름 (예: /users, /orders)
HTTP 메서드 = 주문 방식 (새로 주문, 추가 주문, 취소)
응답 = 주문한 음식 (JSON 데이터)
REST의 의미
REST는 REpresentational State Transfer의 약자입니다. "자원의 상태를 전송한다"는 뜻인데, 쉽게 말하면 URL로 원하는 데이터를 요청하고 받는 것입니다.
HTTP 메서드
REST API에서는 HTTP 메서드로 어떤 작업을 할지 표현합니다.
| 메서드 | 용도 | 예시 |
|---|---|---|
| GET | 데이터 조회 (읽기) | GET /users - 사용자 목록 조회 |
| POST | 데이터 생성 (쓰기) | POST /users - 새 사용자 생성 |
| PUT | 데이터 수정 (전체) | PUT /users/1 - 1번 사용자 정보 수정 |
| DELETE | 데이터 삭제 | DELETE /users/1 - 1번 사용자 삭제 |
실제 예시: 택배 조회
요청
POST /v1/tracking/trace
Host: api.deliveryapi.co.kr
Authorization: Bearer __API_KEY__:__SECRET_KEY__
Content-Type: application/json
{
"items": [
{ "courierCode": "cj", "trackingNumber": "1234567890" }
]
} 자세한 API 호출 방법과 응답 형식은 API 문서를 참고하세요.
HTTP 상태 코드
API 응답의 결과를 숫자로 알려줍니다.
| 코드 | 의미 | 설명 |
|---|---|---|
| 200 | OK | 요청 성공 |
| 201 | Created | 생성 성공 |
| 400 | Bad Request | 잘못된 요청 (파라미터 오류 등) |
| 401 | Unauthorized | 인증 필요 (API 키 오류) |
| 404 | Not Found | 리소스 없음 (송장번호 없음 등) |
| 500 | Server Error | 서버 오류 |
REST API의 특징
- 무상태(Stateless) - 각 요청은 독립적, 이전 요청 기억 안 함
- 자원 중심 - URL이 자원을 나타냄 (/users, /orders)
- 표준 HTTP - 특별한 프로토콜 없이 HTTP만 사용
- JSON 응답 - 대부분 JSON 형식으로 데이터 전달