Development/API

API와 REST API

레오나르도 다빈츠 2021. 11. 3. 17:48

 


내가 정의해 본 REST API는 단순하게 말해서 'HTTP를 활용하여 CRUD를 실행하는 API'이다.
지금껏 REST API라고 생각하며 코드를 완성해왔지만 'REST API가 뭔가요?'라고 물었을 때 잘 대답하지 못할 것 같았다.
다시 한 번 정리를 해보는 시간을 가져본다.

 





API(Application Programming Interface)란?
인터페이스는 어떤 장치끼리 정보를 교환하기위한 수단이나 방법이다.
응용프로그램 프로그래밍 인터페이스, 말 그대로 프로그램을 위한 인터페이스이다.
즉, API는 클라이언트나 서버같은 다른 프로그램끼리 데이터를 주고받는 방법, 규격이라고 정의내릴 수 있다.


◽ REST API란?
REST API는 일종의 아키텍쳐이며, 웹을 위한 네트워크 기반 아키텍쳐라 할 수 있다.
REST는 Representational State Transfer의 줄임말로, 직역하면 '대표적 상태 전달'인데 어떤 뜻인지 명확히 다가오진 않는다.
찾아보니 개인적으로 해석하는 경우가 많아 생략하며, 구성요소를 통해 이해하는게 더 빠르다고 생각된다.

REST API를 구성하는 요소는 총 3가지이다.
1. 자원(Resource): URI를 이용하여 자원을 표현한다.
2. 행위(Verb): HTTP 프로토콜의 Method로 행위를 표현한다.
3. 표현(Representation of Resource): 응답, 결과

즉, 존재하는 많은 자원들 중 URI를 부여하여 자원을 명시하고(=이름을 정해주고) ==> 1. 자원(Resource)
HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원에 대한 CRUD를 통해 ==> 2. 행위(Verb)
데이터를 처리하는 것이라고 ==> 3. 표현(Representation of Resource)
설명할 수 있을 것 같다.

 

 

 

◽ HTTP method의 종류

- GET, POST, PUT, DELETE가 가장 대표적으로 많이 사용되는 메소드이다.
- 그 외에는 HEAD, CONNECT, OPTIONS, TRACE, PATCH가 있다.




◽ URL 구성 시 주의점

 

[Spring Boot] REST API 사용 시 URL 구성 주의점

REST API의 HTTP methods는 GET, POST, DELETE, PUT 등 많은 종류가 있다. 예전 프로젝트에서는 이들의 차이점을 모른 채 GET, POST만 사용했었다. 잠시 잊고 있던 찰나, 오늘 유튜브 알고리즘에 유튜버 노마드

be-a-weapon.tistory.com






참조 및 출처

 

[Network] REST란? REST API란? RESTful이란? - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

REST에 대하여

REST란? | 직역 해석 REpresentational State Transfer = 대표(표상)적인 상태 전달 > 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다. Roy Fielding 2000년 박사학위 논문에..

wr-nood.tistory.com





개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.