1. API는 무엇일까?
API => 응용 프로그래밍 인터페이스
광범위한 말인데, 다른 무언가와 상호작용 하는 것이다.
웹 API 역시 브라우저, 모바일, 컴퓨터 ... 등 여러 기기와 상호 작용하는 것이 API이다.
2. Rest API는 무엇일까?
Rest API => "RepresentationalState Transfer" 의 약자이며
기본 논리적 방식으로 웹 API를 구축하는 아키텍처 중 하나이다.
이 Rest API는 5가지 룰을 따른다.
1. resources의 분리 + 2. 구조화된 resources 기반 URL 사용 + 3. HTTP method 사용
비슷한 내용의 1,2,3번을 묶어서 설명하겠다.
URL의 ENDPOINT가 동사가 된다면 HTTP methods를 사용하기 어렵다.
우리는 CRUD 방식을 활용하여 웹 사이트를 설계 해야하는데,
URL의 ENDPOINT가 동사가 된다면, HTTP method와 중첩되고 연속된 URL 내 ENDPOINT 사용시
ENDPOINT 설계에 어려움을 가질 수 있다.
그래서 우리는 HTTP method를 사용하기 위해 구조화된 resources 기반의 URL을 사용하며,
API를 논리적 resources로 분리한다.
4. JSON으로 데이터 내보내기
JSON => 웹 API에서 많이 사용되는 데이터 교환 형식
대중적인 데이터 교환 형식이며, 데이터 관리에 편리한 JSON을 사용한다.
또한 JSend를 사용하여 한번 더 Formatting하여 상태관리(성공과 실패여부)를 한다.
5. Be state
조금 이해하기 힘든 규칙이였다.
현재의 state를 고려하거나, 사용하지 않는다.
현재의 페이지에서 다음 페이지로 갈 때 현재의 페이지를 참조하지 않고,
다음 페이지에 대한 endpoint만 서버에게 전달하고,
서버는 현재 페이지에 대한 어떠한 정보도 상관하지 않고,
그저 다음 페이지의 정보만 보낸다.