
요즘 API를 설계할 때 흔히 듣는 말이 있다.
"RESTful하게 만들자"
"이건 RESTful하지 않아"
그런데 여기서 말하는 "RESTful"이 정확히 무슨 뜻일까?
이 포스팅에서는 RESTful의 개념만 깔끔하게 정리하고자 한다.
RESTful이란?
RESTful은 REST(Representational State Transfer) 아키텍처 스타일을 따르는 방식으로 API를 설계한 정도를 표현하는 말이다.
즉, RESTful하다는 것은 아래의 철학을 따르고 있다는 의미이다:
"자원은 URI로 표현하고, 행위는 HTTP메서드로 구분한다."
RESTful한 설계의 예
| 동작 | RESTful한 방식 |
| 유저 목록 조회 | GET /users |
| 유저 등록 | POST /users |
| 특정 유저 조회 | GET /users/123 |
| 유저 정보 수정 | PUT /users/123 |
| 유저 삭제 | DELETE /users/123 |
자원(사용자)은 /users,
행위(조회/등록/수정/삭제)는 GET, POST, PUT, DELETE로 구분한다.
RESTful하지 않은 예
POST /getUser
POST /deleteUser
- URI에 동사가 포함되어 있음
- 모든 요청을 POST로 처리함
→ REST의 철학에 어긋난 설계이다.
핵심 정리
RESTful한 API란 다음 원칙을 지킨다:
- URI는 명사(자원 중심)로 구성
- HTTP 메서드를 통해 행위를 구분
- 무상태성(Stateless): 요청 간 상태를 서버가 저장하지 않음
- 일관된 HTTP 응답 코드 사용 (200 OK, 404 Not Found, 201 Created 등)
한 줄 요약
RESTful이란, REST 철학에 따라 자원을 URI로 표현하고, 행위를 HTTP 메서드로 구분하여 일관성 있고 예측 가능한 API를 설계하는 방식이다.
728x90
반응형
'Network > Data communication' 카테고리의 다른 글
| 정규표현식(Regex) 기본 문법 정리 (0) | 2025.08.30 |
|---|---|
| REST API vs Kafka 기반 메시지 큐: 성능과 메시지 유실 고려 (4) | 2025.08.30 |
| 정적 렌더링(Static)과 동적 렌더링(Dynamic)의 차이 (0) | 2025.06.18 |
| Waterfall Request 방식이란? (0) | 2025.06.18 |
| HTTP 메서드를 구별해서 사용하는 이유: RESTful API 설계의 중요성 (0) | 2024.06.29 |