REST API와 일반적인 HTTP 메서드
Source: Dev.to
이 문서에서 사용된 실제 API
-
Dog API (키 필요 없음) – 실제 개 품종 및 이미지
https://dog.ceo/api -
ReqRes API (모의 API) – POST, PUT, PATCH, DELETE 예제용
https://reqres.in/api
두 API 모두 JSON을 반환하며 인증이 필요하지 않습니다.
REST의 핵심 원칙
- Stateless – 각 요청은 독립적입니다.
- Client–Server separation – 프론트엔드와 백엔드가 독립적으로 동작합니다.
- Uniform interface – 표준 HTTP 메서드를 사용합니다.
- Resource‑based – 모든 것이 리소스로 취급됩니다.
REST API에서 흔히 사용하는 HTTP 메서드
1. GET – 데이터 조회 (Dog API)
서버에서 데이터를 가져올 때 사용합니다.
예시: 랜덤 개 이미지 가져오기
GET https://dog.ceo/api/breeds/image/random
- 랜덤 개 이미지를 반환합니다.
- 서버 데이터를 변경하지 않습니다.
예시: 모든 개 품종 목록 조회
GET https://dog.ceo/api/breeds/list/all
- 모든 개 품종이 포함된 JSON 객체를 반환합니다.
2. POST – 리소스 생성 (ReqRes API)
새로운 리소스를 만들 때 사용합니다.
예시: 사용자 생성
POST https://reqres.in/api/users
Content-Type: application/json
{
"name": "Dog Lover",
"role": "Trainer"
}
- 새로운 사용자를 생성합니다.
- ID가 포함된 사용자 객체를 반환합니다.
3. PUT – 전체 리소스 교체 (ReqRes API)
기존 리소스를 완전히 교체할 때 사용합니다.
예시: 사용자 전체 교체
PUT https://reqres.in/api/users/2
Content-Type: application/json
{
"name": "Dog Expert",
"role": "Veterinarian"
}
- 리소스의 모든 필드를 교체합니다.
4. PATCH – 부분 리소스 업데이트 (ReqRes API)
리소스의 일부 필드만 업데이트할 때 사용합니다.
예시: 사용자의 역할 업데이트
PATCH https://reqres.in/api/users/2
Content-Type: application/json
{
"role": "Dog Therapist"
}
role필드만 업데이트합니다.- 부분 변경에 있어 PUT보다 효율적입니다.
5. DELETE – 리소스 삭제 (ReqRes API)
리소스를 삭제할 때 사용합니다.
예시: 사용자 삭제
DELETE https://reqres.in/api/users/2
- ID가
2인 사용자를 삭제합니다. - 204 No Content 상태 코드를 반환합니다.
흔히 보는 HTTP 상태 코드
- 200 OK – 요청 성공.
- 201 Created – 새 리소스가 생성됨.
- 204 No Content – 삭제 성공.
- 400 Bad Request – 잘못된 입력.
- 401 Unauthorized – 인증 필요.
- 404 Not Found – 리소스를 찾을 수 없음.
- 500 Internal Server Error – 서버 오류.
REST API가 이렇게 인기가 많은 이유
- 이해하고 구현하기 쉬움.
- 언어와 플랫폼에 구애받지 않음.
- 가벼운 JSON 포맷 사용.
- 대규모 시스템에서도 잘 확장됨.
- 모든 최신 프레임워크에서 지원.
마무리 생각
REST API는 실제 애플리케이션을 구동합니다 — 심지어 개 이미지 앱 같은 재미있는 서비스도요 🐶! Dog API와 같은 실제 엔드포인트를 사용하면 GET 요청을 바로 실험해볼 수 있고, ReqRes 같은 모의 API는 전체 CRUD 메서드를 연습하는 데 도움이 됩니다. 브라우저, Postman, 혹은 코드에서 이 엔드포인트들을 시도해 보세요 — 올바른 방법으로 REST를 배울 수 있습니다 🚀
행복한 코딩 되세요!