API

김철회·2022년 8월 15일
0

API?

프로젝트를 몇 번 진행하면서 백엔드 동료분께 API 주소 어떻게 되나요? 하고 몇 번이고 물어봤었는데, 생각해보니 그 API가 도대체 뭔지는 제대로 알고 있지 못 하고 있다.

먼저, API는 Application Programming Interface의 줄임말이다. 하나씩 해석해보면 API의 정의는 다음과 같다.

응용 프로그램에서 사용하기 위해, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스.

보통 이를 쉽게 표현하기 위해 프로그램들이 상호작용하는 것을 도와주는 매개체로 표현하기도 하는데, 이마저도... 나에겐 크게 와닿지 않았다.

레스토랑과 점원의 비교도 크게 와닿지 않았다...(이해력이 많이 부족한 나였다..)
그래서 더 쉬운 예를 찾아 다녔고 마침내 이해가 되었다!

API는 일종의 신호체계라고 생각하면 쉽다. 그러니까 운전을 하면 좌우측 깜빡이를 보고 우리는 앞차의 움직임을 파악한다. 또한, 앞차가 브레이크를 누르면 빨간등이 들어오는 것을 보고 우리는 앞차의 속도가 줄어들 것임을 알 수 있다. 이것이 가능한 이유는 간단하다. 차의 신호를 우리 모두 공유하고 알고 있기 때문이다. 이렇게 약속된 규칙을 통해 신호를 주고 받으면 직접 소통하지 않아도 소통이 가능해진다.

그렇다! 컴퓨터 간에도 서로 정보를 교환하고 데이터를 주고 받기 위해서 소통이 필요하다. 보통은 프론트엔드가 백엔드에 데이터를 요청하고 요청을 받은 백엔드가 해당 정보를 다시 프론트로 보내준다. 이때 우리는 고민해야 하는 것이 있다. 어떻게 요청을 할 것인가?

이 요청을 알기 위해선 교통 체계와 비슷하게 서로 약속된 신호가 있어야 하는데 그것이 API라고 할 수 있다.

다시 처음으로 돌아가서, 백엔드 담당자에게 API 주소를 물어봤던 건 프론트엔드 담당자인 내가 어떠한 데이터를 받기 위해서 백엔드 담당자에게 약속된 신호가 무엇인지 물어봤던 것이다. 정해놓은, 약속한 주소로 데이터를 요청해야 그것을 백엔드 서버가 이해하고 이에 해당하는 정보를 다시 보내줄 수 있기 때문이다.

Rest API

우리나라의 교통 체계와 외국의 교통 체계는 거의 비슷하다. 우리나라에서 운전을 할 수 있는 사람이라면 외국에서도 충분히 운전이 가능하다.
이처럼 개발자들 사이에서도 공유되는 데이터 소통 방법 중의 하나가 Rest API이다. API는 데이터를 주고받기 위한 약속인데, 이 약속이 담당자끼리만 합의가 되면 외부에 공유되는 API를 해석하는 것이 힘들고 다음 담당자가 그 합의를 알려면 많은 노력이 필요할 수 있다. 이를 방지하기 위해 Rest API를 만들어서 좀 더 보편적으로 데이터를 주고 받는 것이다.

Rest API 자세히 알기

Representational State Transfer가 Rest를 의미한다.

  • HTTP URI를 통해 데이터를 명시하고
  • HTTP method(post, get, put, delete)라는 방법을 통해서
  • 해당 데이터에 대한 CRUD를 적용하는 것이다.

CRUD
Creat, Read, Update, Delete의 약자로, 데이터를 생성하고 읽고 갱신하고 삭제한다는 의미이다. 즉, 컴퓨터가 데이터를 다루는 것이다.

종합해서, Rest API데이터를 주고 받기 위한 개발자들 사이의 좀 더 보편적인 방법으로 HTTP URI로 데이터를 명시하고 method를 통해 데이터를 보낼 건지, 가져올건지 지울 것인지 등을 나타낸 다음 그 데이터를 CRUD로 처리하는 것이다.

profile
안녕하세요!

0개의 댓글