API란?
API는 Application Programming Interface의 줄임말이다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.
간단히 API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다. 예를 들어, 기상청의 소프트웨어 시스템에는 일일 기상 데이터가 들어 있다. 휴대폰의 날씨 앱은 API를 통해 이 시스템과 ‘대화’하여 휴대폰에 매일 최신 날씨 정보를 표시한다.
요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 한다. 따라서 위의 날씨 예시에서 날씨 데이터베이스는 서버이고 모바일 앱은 클라이언트이다.
API가 생성된 시기와 이유에 따라 API는 네 가지 방식으로 작동하는데 가장 대표적인 방식으로 REST API가 있다. REST는 Representational State Transfer의 줄임말이다. REST는 클라이언트가 서버 데이터에 액세스하는 데 사용할 수 있는 GET, PUT, DELETE 등의 함수 집합을 정의한다. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환한다.
REST API는 다음과 같은 네 가지 주요 이점을 제공한다.
1. 통합
API는 새로운 애플리케이션을 기존 소프트웨어 시스템과 통합하는 데 사용된다. 그러면 각 기능을 처음부터 작성할 필요가 없기 때문에 개발 속도가 빨라진다. API를 사용하여 기존 코드를 활용할 수 있다.
2. 혁신
새로운 앱의 등장으로 전체 산업이 바뀔 수 있으며, 기업은 신속하게 대응하고 혁신적인 서비스의 신속한 배포를 지원해야 한다. 전체 코드를 다시 작성할 필요 없이 API 수준에서 변경하여 이를 수행할 수 있다.
3. 확장
API는 기업이 다양한 플랫폼에서 고객의 요구 사항을 충족할 수 있는 고유한 기회를 제공한다. 예를 들어 지도 API를 사용하면 웹 사이트, Android, iOS 등을 통해 지도 정보를 통합할 수 있다. 어느 기업이나 무료 또는 유료 API를 사용하여 내부 데이터베이스에 유사한 액세스 권한을 부여할 수 있다.
4. 유지 관리의 용이성
API는 두 시스템 간의 게이트웨이 역할을 하기에 API가 영향을 받지 않도록 각 시스템을 내부적으로 변경해야 한다. 이렇게 하면 한 시스템의 향후 코드 변경이 다른 시스템에 영향을 미치지 않는다.
API 사용 전 사전 준비하기
먼저, 회원가입 및 결제수단등록을 완료한다.
서비스 탭의 Maps API를 클릭
이용 신청하기
application 등록 버튼을 누르고 이름을 작성해준다. Web Dynamic Map을 체크.
사용할 웹 서비스의 주소를 쓰고 등록 버튼을 클릭한다.
인증 정보를 클릭하면 클라이언트 아이디가 뜬다.
시작하기를 누르면, 다음의 예제 코드가 뜬다. 복사해주면 준비 완료!
네이버 API 사용하기
기존의 소셜 로그인 코드는 body 부분에 넣어주고,
<script type="text/javascript" src="https://openapi.map.naver.com/openapi/v3/maps.js?ncpClientId=YOUR_CLIENT_ID"></script> 의 끝자락 YOUR_CLIENT_ID 부분에 클라이언트 ID를 작성해준다.
서버 실행 결과
이번엔 지도에 표시되는 default 주소를 바꿔보자. 구글에 장소를 검색해서 위도와 경도를 알아낼 수 있다. 남산타워를 default로 설정해서 코드를 수정해보자.
zoom은 지도를 얼마나 크게 보여줄지 설정하는 부분이다.
서버를 실행해보자.
다음과 같이 남산타워가 정중앙에 나온다.
Maps API 사이트의 Examples를 클릭하면 지도 api를 이용한 다양한 예제들을 볼 수 있다.