본문 바로가기
Dev/Computer Science

[CS] RestfulAPI 설계와 적용방법 알아보기

by 컴포넌트설계자 2025. 8. 5.

RESTful API란 ?

REST를 기반으로 만들어진 API를 의미

REST(Representational State Transfer) 는 자원의 표현을 이용하여 상태를 주고받는 것을 의미. 여기서 자원이란 소프트웨어가 관리하는 모든 것을 의미하며 자원의 표현은 자원을 나타내기 위한 이름을 의미한다. 가령, 서버가 관리하는 주문 데이터는 order 라고 표현할 수 있다. 최근에는 일반적으로 자원의 상태를 나타내기 위해 JSON 포맷을 사용, REST는 네트워크 상에서 클라이언트와 서버의 통신 방식 중 하나이며, HTTP 프로토콜을 사용. 구체적으로는 HTTP URI를 활용하여 자원을 명시하고 HTTP METHOD를 통해 CRUD 연산을 적용하는 것을 의미.

API(Application Programming Interface) 란 컴퓨터 프로그램 간 정보를 주고받을 수 있도록 하는 일종의 출입구와 같은 역할을 수행. API가 REST 기반으로 구현되어 있다면, 이를 REST API라고 부른다.

그렇다면 RESTful API란?

RESTful이란

  • RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어
  • ‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있다.
  • RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것이 아니다.
  • 즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다.

RESTful의 목적

  • 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것
  • RESTful한 API를 구현하는 근본적인 목적이 성능 향상에 있는 것이 아니라 일관적인 컨벤션을 통한 API의 이해도 및 호환성을 높이는 것이 주 동기이니, 성능이 중요한 상황에서는 굳이 RESTful한 API를 구현할 필요는 없다.

RESTful 하지 못한 경우

  • Ex1) CRUD 기능을 모두 POST로만 처리하는 API
  • Ex2) route에 resource, id 외의 정보가 들어가는 경우(/students/updateName)

 

출처 : 매일매일, https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

RESTful API: 개념부터 설계 원칙까지 알아보기

 

RESTful API: 개념부터 설계 원칙까지 알아보기

클라이언트-서버 구조: 클라이언트와 서버가 각각 독립적으로 동작하고, 서로 간의 의존성을 최소화합니다.무상태성(Statelessness): 서버는 클라이언트의 상태를 저장하지 않으며, 각 요청이 독립

velog.io