REST API
0단계 = 기본적인 HTTP 프로토콜만 사용해도 됨
웹 매커니즘을 사용하지 않고 HTTP를 원격 호출을 위한 전송 시스템으로 사용하는 경우이다.
RPC(Remote Procedure Call)처럼 리소스 구분 없이 설계된 HTTP API이다.
1단계 = 개별 리소스(Resource)와의 통신을 준수함, 개별 리소스에 맞는 엔드포인트(Endpoint)를 사용
리소스 개념을 도입한다. 모든 요청을 하나의 End-point로 보내는 것이 아니라 개별 리소스와 통신하게 된다.
2단계 = CRUD에 맞게 적절한 HTTP 메서드를 사용하는 것에 중점
4가지(CURD) HTTP Method를 사용해서 CRUD를 표현하고 StatusCode도 활용하여 반환한다.
3단계 = 마지막 단계는 HATEOAS(Hypermedia As The Engine Of Application State)라는 약어로 표현되는 하이퍼미디어 컨트롤을 적용, 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여 작성
API 서비스의 모든 End-point를 최초 진입점이 되는 URI를 통해 Hypertext Link 형태로 제공한다.
OPEN API
정부에서 제공하는 공공데이터
공공데이터에 쉽게 접근할 수 있도록 정부는 Open API의 형태로 공공데이터를 제공
공공데이터 포털에 접속해 원하는 키워드를 검색하면, 해당 키워드와 관련된 API를 확인
API마다 정해진 이용 수칙이 있고, 그 이용 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있을 수 있음
Open API는 Web 2.0 API, 통신망 서비스 API 등 주로 인터넷이나 통신망과 관련된 자원의 API를 의미하는 것으로, 여러 사람들이 공동으로 사용할 필요가 있는 자원에 대하여 이 자원의 사용을 개방하고, 사용자들이 자원에 대한 전문적인 지식이 없어도 쉽게 사용할 수 있도록 기능을 추상화하여 표준화한 인터페이스를 말합니다.(https://data.gg.go.kr/portal/intro/develop/searchBulletinPage.do)
API Key
API를 이용하기 위해서는 API Key가 필요, API key는 서버의 문을 여는 열쇠
API Key가 필요한 경우에는 로그인한 이용자에게 자원에 접근할 수 있는 권한을 API Key의 형태로 제공하고, 데이터를 요청할 때 API key를 같이 전달해야 원하는 응답을 받을 수 있음