REST 아키텍처 스타일의 제약 조건을 준수(원리를 따른다)하고 RESTful 웹 서비스와 상호 작용할 수 있도록 하는 API
그러니까 REST 기반으로 서비스 API를 구현한것이란 얘기다.
정의 자체는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 로 정의되어 있다.
응용 프로그램과 응용 프로그램이 데이터를 주고 받기 위한 방법을 의미한다.
아래 그림을 참고하여 이해해보자.
Representational State Transfer의 약자.
HTTP URI 를 통해 자원(리소스)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.
CRUD란?
Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT, PATCH)
Delete : 데이터 삭제(DELETE)
자원이 있는 쪽이 Server, 자원을 요청하는 쪽은 Client.
Client의 context를 Server에 저장하지 않는다.
서버로부터 스크립트를 받아서 Client에서 실행한다. (반드시 충족 X)
ex) CRUD 기능을 모두 POST로만 처리하는 API
ex2) route에 resource, id 외의 정보가 들어가는 경우