이번 글에선 프론트엔드의 기본인 api호출을 알아보도록 하겠습니다.
api란 Application Programming Interface의 줄임말입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의합니다. API문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어있습니다.
출처: aws
간단히 말해 API는 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미합니다. 어떤 특정 사이트에서 특정 데이터를 공유할 경우 어떠한 방식으로 정보를 요청해야하는지, 그리고 어떠한 데이터를 제공받을 수 있을지에 대한 규격들을 API라고 합니다.
API도 종류가 있습니다.
API의 생성된 시기 또는 생성된 이유에 따라 4가지 방식으로 작동할 수 있습니다.
1. SOAP API
이 API는 단순 객체 접근 프로토콜을 사용합니다. 클라이언트와 서버는 XML을 사용하여 메시지를 교환합니다. 현재는 잘 사용하지 않는 API입니다.
2. RPC API
이 API를 원격 프로시저 호출이라고 합니다. 클라이언트가 서버에서 함수나 프로시저를 완료하면 서버가 출력을 클라이언트로 다시 전송합니다.
3. Websocket API
JSON객체를 사용하여 데이터를 전달하는 또 다른 최신 웹 API개발입니다. 클라이언트 앱과 서버간의 양방향 통신을 지원합니다. 서버가 연결된 클라이언트에 콜백 메시지를 전송할 수 있어 REST API보다 효율적입니다. 채팅기능을 만들 때 사용합니다.
4. REST API
오늘날 웹에서 볼 수 있는 가장 많이 사용되고 유연한 API입니다. 클라이언트가 서버에 요청을 데이터로 전송합니다. 서버가 이 클라이언트 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환합니다.
우리는 이 중 REST API에 대해 알아보겠습니다.
REST API는 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미합니다.
일반적으로 JSON혹은 XML을 통해 데이터를 주고받는 것이 일반적입니다.
예시로 공공데이터포털이라는 사이트에서 휴일이 언제인지 데이터를 호출해보도록 하겠습니다.
위 서비스를 신청하고 기다리면
신청승인이 된 것을 확인할 수 있습니다.
들어가보면 메뉴얼이 나와있는데요.
End Point와 일반 인증키를 조건에 맞춰 작성하면
https://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getHoliDeInfo?serviceKey={여러분이이 받은 인증키}&solYear=2015&solMonth=09
위와 같은 url이 완성되는데 이를 브라우저에 입력하면 데이터를 받을 수 있습니다.
사실 위 설명으로 api호출에 대한 설명은 끝납니다. 서버에서 원하는 방식으로 url을 작성하고 브라우저에 입력하여 데이터를 받아온다.
하지만 위에 처럼 받아온 데이터를 어떻게 변수에 저장하고 사용할 수 있을까요?
다음 글에서 React와 axios를 이용해 직접 api를 호출하고 데이터를 출력해보는 작업을 하며 알아보겠습니다.
'JavaScript' 카테고리의 다른 글
리액트 a태그에 target='blank'를 적용하면 생기는 에러 (0) | 2022.12.11 |
---|---|
자바스크립트 reduce에 대해 알아보고 예시를 살펴보자 (0) | 2022.12.03 |
자바스크립트 map에 대해 알아보고 간단한 예시를 살펴보자 (0) | 2022.12.02 |
유용한 자바스크립트 문법을 배워보자 (0) | 2022.11.19 |
렌더링이 뭐죠? 브라우저에 내용이 써지는 과정 (feat. DOM,Repain,Reflow) (0) | 2022.11.17 |