본문으로 바로가기

API 개념 확실히 알고 사용하기

category Project/gist 2019. 4. 21. 09:00

API는 개발자들이면 자주 사용하는 용어인데, 막상 API가 뭐냐고 물어보면 대답하기가 어려운 경우가 있다.

RESTful API에서도 REST에 대한 개념을 확실히 인지하고 나니,

API는 그럼 뭐라고 하는게 좋을지에 대해서 더 알아보아야겠다는 생각이 들었다.


 

API는?

API는 Application Programming Interface의 약자로서, 어떠한 응용프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 의미한다. 본래는 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있는 환경을 의미하였으나(시스템 콜도 하나의 Interface), 웹서비스에서 API의 의미가 확장 사용되면서,  특정 사이트에서 특정 데이터를 공유할 경우 어떤 방식으로 정보를 요청해야 하는지, 그리고 어떠한 데이터를 제공 받을 수 있는지에 대한 규격또한 API라고도 한다.

기업이나 정부에서는 방대한 데이터를 활용할 수 있도록 API 형태로 데이터를 제공하고 있으며, 우리는 API에 명세된 규칙에 따라서 원하는 데이터를 요청하고 받을 수 있다. ex) 카카오, 페이스북 간편 로그인 API

API로 서비스를 하면 좋은점?

데이터를 제공하는 입장에서 API로 데이터를 제공할 수 있도록 서비스를 설계한다면, Front와 Back을 명확하게 분리할 수 있게되면서 개발 시간을 단축시킬 수 있다. 또한 협업을 위해서 타 기업에 데이터를 제공해야 할 경우, 특정 접근 권한을 주고 API에 접근할 수 있도록 key와 문서를 제공함으로써 개발자는 기업마다 데이터를 제공하는 새로운 환경을 구축할 필요가 없이 API만 잘 설계해두면 된다.

API의 동작 원리?

API는 사용자로부터 요청(Request)을 하면 결과값을 받아 Parsing하면 된다.

요청 방법은 REST, SOAP, XML-RPC 등의 형식이 있다. 그 가운데 REST 방식이 사용하게 간단하기 때문에 많은 API 제공 업체들이 REST 방식으로 API를 제공하고 있다. 

덧붙여서 이야기하자면,  REST API는 REST의 규칙에 맞게 만들어진 API를 의미한다. REST의 규칙에서 따라 URI를 규정하고 HTTP Methods를 활용하여 데이터를 요청할 수 있도록 한다. REST의 정의를 제대로 이해하고나면 REST 아키텍처를 적용한 API라는 사실만으로도 대충 API를 어떻게 사용하면 될지를 추측할 수 있다.