Buisness Problem
특정 도시의 날씨 정보를 제공하는 App 을 제작한다고 가정해보자. 그렇다면 external service 를 통하여 날씨 정보를 가져와야할 것이다.

그렇다면 어떻게 Third-Party 인 Weather Service 와 연결을 할 수 있을까?
우리는 HTTP Protocol 을 기반으로 하는 REST API 를 만들어서 Third-Party Service 와 Application 을 연결할 수 있다.
REST(REpresentational State Transfer) 는 HTTP Protocol 을 기반으로 resource 의 상태를 주고받는 Architecture style 이다. REST 는 주로 Web API 설계에서 활용되며, 이를 따르는 API 를 REST API 라고 한다. 또한 client 나 server 에서 사용가능한 programming laguage 에 제약이 없으며, data format 으로는 JSON(JavaScript Object Notation) 을 가장 많이 사용하지만, 이 역시도 제약이 없다.
Problem Solution
만약 openweathermap.org 에서 제공하는 Weather Service API 를 사용한다고 하자. 그렇다면 해당 API 사용을 위하여는 API documentation 을 반드시 확인하고 사용해야 한다.
https://api.openweathermap.org/data/3.0/onecall?lat={lat}&lon={lon}&exclude={part}&appid={API key}
예를 들어 위와 같은 API call 에서는 lat 값과 lon 값, 즉 위도와 경도를 Weather Service 에 전달함으로써 해당 위치의 도시의 날씨 정보를 response 하도록 request 하는 방식이다.
참고로 REST/RESTful API, Web Services, Services 모두 다 같은 의미를 가진다고 생각하면 된다.