웹 개발

REST API란?

_KH_ 2025. 5. 30. 17:29

발표 후 해당 질문을 받았는데.. 순간 머리가 멍해져서 대답을 못했다. GET/POST를 떠올리면 됐는데..

 

1. REST란?

REpresentational State Transfer의 약자.

웹의 자원을 URL로 표현하고, 그 자원에 대한 행위는 HTTP 메서드로 표현하는 아키텍처 스타일을 뜻함.

 

자원(Resource) → /users, /posts, /products 등의 URI로 표현

행위(Method) → GET, POST, PUT, DELETE 등의 HTTP 메서드 사용

→ 설계 원칙!


2. REST API란? 

: REST 아키텍처 원칙을 따르는 API

→ API란? 프로그램 간 통신 창구를 의미하고, REST API란? REST 원칙을 따르는 URL + HTTP 메서드로 구성된 API를 말한다.


3. RESTful API란?

: REST 원칙을 최대한 잘 지켜서(== 원칙을 더 철저하게 지켜서) 만든 API.

- REST를 지킨 정도가 높을수록 RESTful하다고 표현한다.

- URI에 동사 쓰지 않기, 리소스 중심으로 설계하기 등 원칙에 충실해야 함


구분  REST API  RESTful API
정의 REST 원칙을 따른 API REST 원칙을 엄격히 따른 API
특징 넓은 개념
(REST 기반이면 대부분 포함)
설계 원칙을 더 철저히 지킴
사용 예 실무 API 대부분 일부 표준 서비스 (GitHub API 등)

 

우리 프로젝트에서 예를 들어보자면 POST /member/findId가 있는데 이건 REST API는 맞지만 , RESTful API는 아닌 것이다. 

RESTful 원칙에 따르면, /findId는 동사를 URI에 포함하고 있어서 RESTful API가 아니다.

그리고 RESTful API에서는 대문자보다는 소문자를, _보다는 -를 사용한다고 한다.

 

그러면 POST /member/findId는 POST /member/id-search 가 되어야 하는걸까..