웹 애플리케이션에선 HTTP메서드를 사용해 서버와 통신한다. GET으로 웹 페이지나 데이터를 요청하고, POST로 새로운 글이나 데이터를 전송하거나, DELETE로 저장된 글이나 데이터를 삭제할 수 있다.
Rest API는 웹의 장점을 최대한 활용할 수 있는 아키텍처로 처음 소개되었다. 웹에서 사용하는 데이터나 자원을 HTTP URL로 표현하고 HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식이다.
API는 메뉴판이라 비유할 수 있다. 우리가 식당에서 음식을 주문할 때, 메뉴판을 보고 주문하게 될 것이다.
클라이언트와 서버 사이에서도 데이터와 리소스를 요청하고, 요청에 따른 응답을 전달하기 위한 메뉴판이 필요하다. 메뉴판을 보고 클라이언트는 서버에 요청하고, 이에 대한 응답을 다시 서버에서 클라이언트로 전송한다.
만약, 메뉴판이 알아보기 어렵다면 메뉴판을 보고 주문하기가 어려울 것이다. 따라서, HTTP 프로토콜을 기반으로 요청과 응답에 따라 리소스를 주고받기 위해 알아보기 쉽게 잘 작성된 API가 필요한 것이다.
Rest 성숙도 모델은 4단계로 나누어 지는데, 2단계까지만 적용해도 좋은 API 디자인이라고 할 수 있다.
정부는 정부에서 제공하는 공공데이터에 쉽게 접근할 수 있도록, 데이터를 Open API 형태로 제공하고 있다.
Open API는 글자 그대로 누구에게나 열려있는 API다.
다만, 무제한으로 이용할 수 있다는 의미와는 다르다. 기관마다 정해진 이용 수칙이 있고, 이용 수칙에 따라 제한 사항(정보의 제한, 금액 등)이 있을 수 있다.
API를 이용하기 위해선 API Key가 필요한데, API Key는 서버의 문을 여는 열쇠라고 할 수 있다.
클라이언트의 요청에 따라 서버에서 응답한다는 말은, 결국 서버를 운영하는데 비용이 발생한다는 것이다. 따라서, 서버 입장에서 아무 조건 없이 익명의 클라이언트에게 데이터를 제공할 의무와 이유가 없다.
그러므로 로그인된 사용자에게만 자원에 접근할 수 있는 권한을 API Key 형태로 제공하며, 데이터를 요청할 때 API Key를 같이 전달해야 원하는 응답을 받을 수 있다.
Postman은 HTTP API 테스트 도구 중 하나다.
웹 개발에서 사용하는 대표적인 클라이언트는 브라우저인데, 브라우저는 서버에 HTTP 요청을 보낼 수 있는 도구지만, 주로 웹 페이지를 받아오는 GET 요청에 사용한다.
매번 코드를 작성하기엔 번거롭기 때문에, 코드를 작성하는 대신에 HTTP 요청을 테스트할 수 있는 다양한 도구가 있다. 많은 API가 HTTP 프로토콜을 이용하므로 API 테스트 도구라고 부른다.
포스트맨(Postman) 사용법과 API 실행해 보기