
REST API란? 초보자도 이해하는 REST API 개념 정리
API를 공부하다 보면 반드시 만나게 되는 단어가 있습니다.
REST API
RESTful API
REST 방식
처음에는 이런 생각이 들 수 있습니다.
API랑 REST API는 뭐가 다르지?
그냥 API의 한 종류인가?
왜 개발자들은 REST API를 그렇게 많이 이야기할까?
결론부터 말하면,
REST API란 REST 규칙을 따르는 API입니다.
쉽게 말해 REST API는 데이터를 더 직관적이고 규칙적으로 주고받기 위한 API 설계 방식입니다.
이번 글에서는 REST API가 무엇인지, 왜 필요한지, 어떻게 사용하는지 초보자 기준으로 쉽게 정리해보겠습니다.
REST API란?
REST는 Representational State Transfer의 줄임말입니다. 이름만 보면 어려워 보이지만 핵심은 간단합니다.
URL로 자원(Resource)을 표현하고 HTTP Method로 행동(Action)을 표현하는 방식
예를 들어 사용자(User) 데이터가 있다고 가정해봅시다.
/users
이 URL은 사용자라는 자원을 의미합니다.
여기에 어떤 요청을 보내느냐에 따라 의미가 달라집니다.
GET → 조회
POST → 생성
PUT → 수정
DELETE → 삭제
즉 REST API는 URL + HTTP Method 조합으로 동작합니다.
API와 REST API 차이
많은 초보자들이 가장 헷갈려하는 부분입니다.
| 구분 | API | REST API |
|---|---|---|
| 의미 | 프로그램 간 연결 통로 | REST 규칙을 따르는 API |
| 구조 | 자유롭게 설계 가능 | 일정한 규칙 존재 |
| URL | 자유 | 자원 중심 |
| 요청 방식 | 다양 | HTTP Method 활용 |
API = 큰 개념
REST API = API 설계 방식 중 하나
즉 REST API는 API의 하위 개념입니다.
REST API는 왜 필요할까?
REST API가 인기 있는 이유는 명확합니다.
1. 구조가 직관적이다
URL만 봐도 의미를 알 수 있습니다.
/products
/products/100
/orders
2. 프론트엔드와 백엔드 협업이 쉽다
React, Vue, 앱 개발에서 많이 사용됩니다.
3. 유지보수가 편하다
규칙이 명확하기 때문입니다.
REST API는 특히 웹 서비스, 모바일 앱, SaaS 서비스에서 가장 많이 사용됩니다.
REST API 작동 방식
기본 흐름은 일반 API와 비슷합니다.
1. 클라이언트가 요청
예:
GET /products/1
2. 서버가 처리
DB에서 상품 정보 조회
3. JSON 응답 반환
{
"id": 1,
"name": "Keyboard",
"price": 59000
}
즉,
Request
Processing
Response
구조는 API와 동일합니다.
REST API의 핵심 구성요소
REST API는 크게 3가지가 중요합니다.
1. Resource (자원)
예:
users
posts
products
2. Method (행동)
예:
GET
POST
PUT
DELETE
3. Representation (표현)
대부분 JSON 형태로 응답합니다.
HTTP Method 이해하기
REST API에서 가장 중요한 부분입니다.
| Method | 역할 |
|---|---|
| GET | 조회 |
| POST | 생성 |
| PUT | 수정 |
| DELETE | 삭제 |
GET
데이터 조회
GET /posts
게시글 목록 조회
POST
데이터 생성
POST /posts
게시글 생성
PUT
데이터 수정
PUT /posts/1
1번 게시글 수정
DELETE
데이터 삭제
DELETE /posts/1
1번 게시글 삭제
식당 비유로 보면:
GET → 메뉴 보기
POST → 주문하기
PUT → 주문 변경
DELETE → 주문 취소
이렇게 이해하면 쉽습니다.
좋은 REST API URL 예시
좋은 URL 구조:
/users
/users/10
/products/100
/orders/55
좋지 않은 URL:
/getUser
/createProduct
/deleteOrder
REST API에서는 URL에 동작보다 자원(Resource) 을 표현하는 것이 중요합니다.
JSON과 REST API
REST API 응답은 대부분 JSON입니다.
예:
{
"name": "Wing",
"role": "developer"
}
왜 JSON을 사용할까요?
가볍다
빠르다
읽기 쉽다
그래서 보통
REST API → JSON 응답
구조라고 보면 됩니다.
HTTP 상태코드와 REST API 오류
REST API에서는 상태코드가 매우 중요합니다.
| 코드 | 의미 |
|---|---|
| 200 | 성공 |
| 201 | 생성 완료 |
| 400 | 잘못된 요청 |
| 401 | 인증 실패 |
| 404 | 데이터 없음 |
| 500 | 서버 오류 |
예를 들어:
로그인 실패 → 401
없는 상품 조회 → 404
서버 에러 → 500
Python REST API 호출 예제
Python requests로 쉽게 테스트할 수 있습니다.
import requests
url = "https://api.example.com/products/1"
response = requests.get(url)
print(response.status_code)
print(response.json())
POST 예제:
import requests
url = "https://api.example.com/posts"
data = {
"title": "REST API"
}
response = requests.post(url, json=data)
print(response.json())
REST API 실전 활용 예시
실무에서는 정말 다양한 곳에서 사용됩니다.
네이버 개발자센터 검색 API
날씨 API
지도 API
AI API
쇼핑 API
예를 들어 win-j.com 같은 사이트를 운영한다면:
외부 데이터 연동
상품 정보 조회
AI 콘텐츠 생성
자동화 기능 구현
모두 REST API 기반으로 만들 수 있습니다.
자주 발생하는 REST API 오류
400 Bad Request
요청 데이터 형식 오류
401 Unauthorized
API Key 문제
404 Not Found
잘못된 URL
429 Too Many Requests
호출 제한 초과
500 Internal Server Error
서버 문제
REST API 공부 순서 추천
초보자라면 이렇게 공부하는 걸 추천합니다.
HTTP 이해
JSON 이해
API 이해
REST API 이해
Postman 사용
Python requests 연습
이 순서로 공부하면 흐름이 자연스럽게 이어집니다.
이런 사람에게 추천합니다
REST API가 궁금한 사람
API 입문자
Python 자동화 공부 중인 사람
웹 개발 입문자
백엔드 구조를 이해하고 싶은 사람
마무리
REST API는 어렵게 보이지만 핵심은 단순합니다.
URL은 자원(Resource)을 표현
HTTP Method는 행동(Action)을 표현
응답은 보통 JSON
상태코드로 성공/실패 판단
이 구조만 이해해도 웹 서비스가 어떻게 데이터를 주고받는지 훨씬 명확하게 보이기 시작합니다.
API를 처음 공부하는 사람이라면 일반 API 개념을 이해한 뒤 REST API까지 익히는 것을 추천합니다.
첫 댓글을 남겨보세요.