REST API: Representational State Transfer Application Programming Interface
로이 필딩 박사학위 논문에서 웹(http)의 장점을 최대한 활용할 수 있는 아키텍처로써 처음 소개됨
로이 필딩이 논문에서 제시한 REST 방법론을 보다 더 실용적으로 적용하기 위해 레오나르드 리처드슨(Leonard Richardson)은 REST API를 잘 적용하기 위해 만든 4단계 모델
단순히 HTTP 프로토콜을 사용
모든 자원은 개별 리소스에 맞는 엔드포인트(Endpoint)를 사용해야 하며 요청하고 받는 자원에 대한 정보를 응답으로 전달
각 CRUD에 맞추어 HTTP 프로토콜을 사용
참고 - 코드스테이츠 자료 중
API를 작성할 때, REST 성숙도 모델의 2단계까지 적용하면 대체적으로 잘 작성된 API라고 합니다. 물론 로이 필딩은 앞서 이야기한 바와 같이 3단계까지 만족하지 못한 API는 REST API가 아닌 HTTP API라고 불러야 한다고 주장하지만, 앞으로 여러분들이 개발자로서 보시게 될 모범적인 API 디자인조차도 REST 성숙도 모델의 3단계까지 적용한 경우는 드뭅니다. 따라서 3단계까지 무조건적으로 모두 적용해야 하는 것은 아닙니다.
HATEOAS(Hypermedia As The Engine Of Application State)라는 약어로 표현되는 하이퍼미디어 컨트롤을 적용
3단계의 요청은 2단계와 동일하지만, 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여 작성
응답에 들어가게 되는 링크 요소는 응답을 받은 다음에 할 수 있는 다양한 액션들을 위해 많은 하이퍼미디어 컨트롤을 포함
Open API: 공공데이터에 쉽게 접근할 수 있도록 정부는 Open API 형태로 공공데이터를 제공 공공데이터 포털
API key: API에 접근하기 위해 API key가 필요한 경우가 존재
https://openweathermap.org/ 를 사용하여 입력한 장소의 날씨를 받아오는 실습을 진행하였다.
회원가입 -> 로그인 후 API Key를 발급받고 서울 시청의 날씨를 받아왔다.