RESTful API란?
RESTful API는 REST(Representational State Transfer) 원칙을 준수하여 설계된 API를 의미합니다. 쉽게 말해, REST 아키텍처 스타일을 따르는 API를 RESTful API라고 부릅니다.
✅ REST API → REST 개념을 활용한 API
✅ RESTful API → REST 원칙을 제대로 적용한 API
1. RESTful API의 특징
RESTful API는 아래의 REST 원칙을 준수해야 합니다.
📌 1) 클라이언트-서버 구조 (Client-Server Architecture)
- 클라이언트(웹, 앱)는 요청을 보내고, 서버는 요청을 처리한 후 응답을 반환.
- 예: 웹사이트(클라이언트)가 날씨 정보를 가져오려면 날씨 API(서버)에 요청.
📌 2) 상태 비저장 (Stateless)
- 서버는 클라이언트의 이전 요청 정보를 저장하지 않음.
- 모든 요청은 독립적으로 처리됨.
-
예: 로그인 정보를 유지하려면 클라이언트에서
토큰(Token)
을 매번 포함해야 함.
📌 3) 자원(Resource) 기반 URL
- API URL은 데이터(자원)를 나타내야 함.
-
예:
plaintext
❌ 잘못된 예: GET /getUser?id=123 ✅ 올바른 예: GET /users/123
-
/users/123
→ ID가 123인 사용자를 의미하는 RESTful URL.
📌 4) HTTP 메서드 활용
CRUD(Create, Read, Update, Delete) 작업을 HTTP 메서드로 표현.HTTP 메서드 | 기능 | RESTful URL 예제 | 설명 |
---|---|---|---|
GET | 데이터 조회 | GET /users/123 | ID가 123인 사용자 정보 조회 |
POST | 데이터 생성 | POST /users | 새로운 사용자 추가 |
PUT | 데이터 수정 | PUT /users/123 | ID가 123인 사용자 정보 수정 |
DELETE | 데이터 삭제 | DELETE /users/123 | ID가 123인 사용자 삭제 |
📌 5) 계층화된 시스템 (Layered System)
- 클라이언트는 서버의 내부 구조를 알 필요 없이 API만 사용하면 됨.
-
예: 모바일 앱은
https://api.example.com/users
에 요청하면 사용자 데이터를 가져올 수 있음.
2. RESTful API 요청 & 응답 예제
🛠 1) GET 요청 - 사용자 정보 조회
GET https://api.example.com/users/123
📌 서버 응답 (JSON 형식)
{"id":123,"name":"김철수","email":"chulsoo@example.com"}
🛠 2) POST 요청 - 새 사용자 생성
POST https://api.example.com/users Content-Type: application/json
📌 요청 본문 (Body)
{"name":"이영희","email":"younghee@example.com"}
📌 서버 응답
{"message":"User created successfully","userId":124}
3. REST API vs RESTful API 차이점
비교 항목 | REST API | RESTful API |
---|---|---|
정의 | REST 개념을 따른 API | REST 원칙을 충실히 구현한 API |
설계 원칙 | REST 일부 적용 가능 | 완전히 RESTful하게 설계 |
URL 구조 | REST 원칙을 따르지 않을 수도 있음 | 자원 기반 URL 사용 |
HTTP 메서드 활용 | 비RESTful 방식도 가능 | GET, POST, PUT, DELETE 준수 |
✅
즉, 모든 RESTful API는 REST API이지만, 모든 REST API가 RESTful API는
아닙니다!
✅
RESTful API는 더욱 표준화되고 일관된 API 설계를 의미합니다.
4. RESTful API가 널리 사용되는 이유
🚀 확장성 → 다양한 기기(웹, 모바일, IoT)에서 쉽게 사용
가능
🔗 호환성 → JSON 기반으로 대부분의 프로그래밍 언어에서
활용 가능
📏 일관성 → RESTful URL과 HTTP 메서드 덕분에 가독성이
뛰어남
⚡ 빠른 성능 → Stateless 원칙 덕분에 서버 부담이 적음
결론: RESTful API는 현대 웹 개발의 필수 요소!
RESTful API는
웹과 모바일에서 데이터를 주고받는 표준적인 방식입니다.
📌
HTTP 메서드를 활용한 CRUD, 자원 중심 URL, JSON 응답 등 REST 원칙을 따르는
것이 핵심!
🔹 API를 처음 배우는 분들은 공공데이터 포털(Open API)에서 RESTful API를 직접 테스트해보는 것을 추천합니다!
💬 더 궁금한 점이 있다면 질문 주세요! 😊처음으로
댓글 쓰기