"API 연동해주세요", "RESTful 하게 짜주세요"
개발자와 대화할 때 빠지지 않는 이 단어, 오늘 완벽하게 정리해 드립니다.
요즘 IT 기사나 개발 관련 글을 읽다 보면 API라는 단어를
정말 많이 보게 됩니다.
거기에 REST라는 단어까지 붙어서 'REST API'라고 부르기도
하는데요.
비전공자 입장에서는 도대체 이게 무슨 암호인가 싶으셨을 겁니다.
하지만 스마트폰으로 날씨를 확인하고, 배달 앱으로 결제하는 모든 순간에
우리는 이 기술을 사용하고 있습니다.
오늘은 개발자가 아니더라도 꼭 알아두어야 할
REST API의 개념과 원리를 아주 쉽게 파헤쳐 보겠습니다.
💁♂️ 1. REST를 알기 전, API부터 이해하자
REST API를 이해하려면 먼저
API(Application Programming Interface)가 무엇인지 알아야
합니다.
가장 쉬운 예시는 바로 '레스토랑(식당)'입니다.
🍽️ 레스토랑으로 보는 API
- 손님 (클라이언트/브라우저): 음식을 먹고 싶은 사람.
- 주방장 (서버/데이터베이스): 요리를 만들고 재료를 가진 사람.
- 점원 (API): 손님의 주문을 주방장에게 전달하고, 완성된 요리를 손님에게 가져다주는 '중개자'.
손님이 주방에 직접 들어가서 냉장고를 뒤지면 안 되겠죠?
그래서 '점원(API)'에게 메뉴판을 보고 주문해야 합니다.
즉, API는
프로그램들이 서로 소통할 수 있도록 연결해 주는 매개체
역할을 합니다.
📋 2. 그렇다면 REST API는 무엇인가요?
API가 점원이라면, REST(Representational State Transfer)는
점원이 주문을 받는 '가장 효율적인 규칙'을 의미합니다.
옛날에는 점원마다 주문받는 방식이 제각각이라 혼란스러웠습니다.
그래서
"전 세계 웹(Web) 어디서나 통하는 공통된 규칙으로 주문하자!"라고 약속한 것이 바로 REST API입니다.
-
주소(URI)는 명사로 쓴다:
예) `waiting-list` (대기 명단) -
행위는 HTTP 메서드로 표현한다:
예) `GET` (달라), `POST` (추가해줘) -
결과는 주로 JSON으로 받는다:
예) `{ "name": "김철수", "number": 3 }`
📌 CRUD와 HTTP 메서드 연결하기
데이터를 다룰 때 가장 기본이 되는 4가지 작업(CRUD)을 REST API에서는 다음과
같이 짝지어 사용합니다.
이 표만 기억하셔도 개발자와의 대화가 훨씬 수월해집니다.
| 목적 (CRUD) | HTTP 메서드 | API 요청 예시 |
|---|---|---|
| 생성 (Create) | POST | /users (유저를 만들어줘) |
| 조회 (Read) | GET | /users/1 (1번 유저 보여줘) |
| 수정 (Update) | PUT | /users/1 (1번 유저 정보 고쳐줘) |
| 삭제 (Delete) | DELETE | /users/1 (1번 유저 지워줘) |
📦 3. 주고받는 데이터의 택배 상자: JSON
REST API를 통해 데이터를 주고받을 때는 주로
JSON(제이슨)이라는 형식을 사용합니다.
컴퓨터가 보낸 데이터라고 해서 0과 1로 된 복잡한 코드가 아닙니다.
사람도 읽기 쉽고 컴퓨터도 해석하기 쉬운 텍스트 형태입니다.
"이름": "아이폰 15",
"색상": "블랙",
"가격": 1250000,
"재고있음": true
}
보시다시피 '키(Key) : 값(Value)'의 쌍으로 이루어져 있어
딱 보면 어떤 내용인지 알 수 있습니다.
REST API는 이렇게 깔끔한 JSON 포맷으로 데이터를 쏙쏙 골라 전달해
줍니다.
📝 요약 및 마무리
이제 어디 가서 "REST API가 뭔가요?"라는 질문을 받아도 당황하지
않으시겠죠?
간단히 말해,
웹(Web)의 장점을 최대한 활용하여 데이터를 주고받는 가장 널리 쓰이는
약속입니다.
- API: 프로그램끼리 대화하는 창구 (점원).
-
REST: 웹 표준을 따르는 통신 규칙 (주문 방식).
-
특징: 명사로 자원을 표현하고, 동사(HTTP 메서드)로
행위를 결정함.
공공데이터포털(data.go.kr)이나 오픈 API를 제공하는 사이트에 방문해 보세요.
로그인 없이도 날씨 정보나 지하철 도착 정보를 REST API로 직접 받아볼 수 있는 실습이 가능합니다.

댓글 쓰기