RESTful API란?

RESTful API란?

RESTful API는 REST(Representational State Transfer) 원칙을 준수하여 설계된 API를 의미합니다. 쉽게 말해, REST 아키텍처 스타일을 따르는 API를 RESTful API라고 부릅니다.

REST API → REST 개념을 활용한 API
RESTful API → REST 원칙을 제대로 적용한 API

RESTful-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/123ID가 123인 사용자 정보 조회
POST데이터 생성POST /users새로운 사용자 추가
PUT데이터 수정PUT /users/123ID가 123인 사용자 정보 수정
DELETE데이터 삭제DELETE /users/123ID가 123인 사용자 삭제

📌 5) 계층화된 시스템 (Layered System)

  • 클라이언트는 서버의 내부 구조를 알 필요 없이 API만 사용하면 됨.
  • 예: 모바일 앱은 https://api.example.com/users에 요청하면 사용자 데이터를 가져올 수 있음.

2. RESTful API 요청 & 응답 예제

🛠 1) GET 요청 - 사용자 정보 조회

plaintext
GET https://api.example.com/users/123

📌 서버 응답 (JSON 형식)

json
{"id":123,"name":"김철수","email":"chulsoo@example.com"}

🛠 2) POST 요청 - 새 사용자 생성

plaintext
POST https://api.example.com/users Content-Type: application/json

📌 요청 본문 (Body)

json
{"name":"이영희","email":"younghee@example.com"}

📌 서버 응답

json
{"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를 직접 테스트해보는 것을 추천합니다!

💬 더 궁금한 점이 있다면 질문 주세요! 😊처음으로

댓글 쓰기