REST API란?
- REST는 Representational State Transfer의 약자로 웹 상의 자료를 주고 받기 위해 정의된 규약이며 이것을 API(Application Programming Interface)로 만든 것이 REST API입니다.
- 응답의 형태는 일반적으로 XML 또는 JSON파일의 형태입니다.
REST API의 장점
- HTTP 프로토콜을 그대로 사용하기 때문에 별도의 과정이 필요없으며 모든 플랫폼에서 활용이 가능합니다.
- 서버와 클라이언트의 역할이 나뉘어져 있고 요청에 대한 메세지를 정확하게 파악할 수 있어 처리가 편합니다.
- 확장 및 관리가 편합니다.
REST API의 규약
- REST API는 HTTP 프로토콜을 이용하여 간단하게 URI를 통해 데이터를 보내거나 받을 수 있으며 다음 6가지의 제약을 가지고 있습니다.
- 클라이언트 서버 아키텍처: 클라이언트와 서버를 분리하여 구조를 단순화하고 확장성을 개선
- 스테이트리스: 서버에는 클라이언트의 상태에 대해 저장할 필요없음.
- 캐시: 캐시를 제공하며 이를 재사용할 수 있음.
- 계층화 시스템: 추가 계층을 생성하여 클라이언트-서버간 상호작용을 조정할 수 있음. 로드 밸런싱이나 공유 캐시, 보안같은 기능을 제공할 수 있음.
- Code on Demand(선택): 실행가능한 코드를 제공함으로서 기능을 확장할 수 있음.
- 통합 인터페이스: 특정 언어나 기술에 종속되지 않으며 HTTP를 사용하는 모든 플랫폼에서 요청 가능
REST API의 구성
- REST API는 자원(URL)과 행위(HTTP method), 표현(Representations)으로 이루어져 있습니다.
- URL을 표현할 때 소문자와 하이픈(-)을 사용하며 확장자를 사용하면 안됩니다.
- 대표되는 Method로 GET(조회), POST(생성), PUT(수정), DELETE(삭제)가 있으며 이를 활용하여 CRUD 설계를 가능하게 합니다.
간단한 실습
https://www.notion.so/REST-API-e3a6d9c5cc3d4d67b5e861acbfeefa2d
예시