API정의

→ 사전적 정의 : API(Application Programming Interface 애플리케이션 프로그래밍 인터페이스[*], 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. - 위키백과-

무슨말인지 도서히이해가안된다.. 언젠가는 이런 용어에대해서 익숙해지는날이 왔으면 좋겠다.
이개념은 지금당장 사용을해야하는 시점에선 예시를통한 이해를하는게 빠르고 확실한것같다.

API는 은행에서의 창구의 은행원과 같다.

  • 클라이언트가 고객이라가정하고 은행이 서버로 가정하면, api는 이 둘을 연결해주는 창구와같다.
  • 고객이 주민등록증이나 어떠한 정보를 은행원이 존재하는 창구로 가져가면, 이 은행원은 이를확인하고 은행으로 가져가 고객에게 필요한 서비스를 제공해준다.
  • 이와같이 클라이언트측에서 어떤 정보를가지고 api를통해 가공하여 서버로전달하면, 서버측에서도 이를 정해진 방식으로 가공하여 클라이언트측으로 응답을 한다.
  • 우리는 이 api라는걸 직접 우리의 원하는형태로 설계할수도있으며, 이미만들어진 api를 사용할 수도있으며, 브라우저에서 자체적으로 제공하는 api도 사용할 수있다.

프로젝트에서 적용하기.

  • 이번 항해 1주차 미니프로젝트에서 주목적이 이 api를 통해 서버와의 통신을 이해하는게 주목적이라고 하셨었다. 사실 이전에 리액트강의를 듣다가 axios api..?라는 내용을 보고 다시 자바스크립트로 돌아갔던적이있었다.. fetch를 좀더 한눈에볼수있게 만들어진 api라고하는데 왜 그 방식으로 데이터값을 전달하는지에대해서 이해가안됬었다. 그런데 항해를 준비하던중 사전강의를듣다가 이는 외부에서 이미 만들어진 api이기때문에 정해진 틀이 있다는 것이였다.. 그래서 그대로 가져와서 사용하는 입장인 우리들은 그 틀에 맞춰 데이터를 전달해야한다라고 나왔었는데 확실히 이전에 들었던강의들은 약간 초보자를 대상으로 알려주는 강의는 아니였구나라는 생각이 들었었다. 아무튼 이번 프로젝트에선 api를 직접 설계하면서 백엔드와 프론트엔드가 어떤식으로 나뉘는지 대략적인 구도는 알 수있었던것같았다.
profile
FE developer 🙂

0개의 댓글