본문 바로가기
Web Frontend

API 쉽게 이해하기, API 어디까지 쓰이는걸까?

by 코라채 2025. 1. 5.
728x90

❔ API 어디까지 쓰이는걸까?

API의 개념

Application Programming Interface, 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 제어할 수 있게 만든 인터페이스입니다. (출처: MDN)

 

위와 같은 설명만으로는 API가 무엇인지, 개발을 처음 접하는 사람들은 한 번에 이해하기 힘들 수 있습니다. API는 애플리케이션에서 데이터를 읽거나 쓰기 위해 사용하는 인터페이스입니다.

🗝️ 여기서 인터페이스란?

인터페이스(interface)는 상호 간의 소통을 위해 만들어진 접점입니다. 서로 다른 소프트웨어가 소통할 수 있도록 도와주는 다리 역할이라고 볼 수 있습니다. 이는 특정 기능이나 데이터를 다른 프로그램에서 사용할 수 있도록 만들어 놓은 "약속" 또는 "규칙"이라고 생각하면 됩니다.

예를 들어, 우리가 카페에서 주문을 할 때 고객은 메뉴판을 보고 바리스타에게 주문을 합니다. 이때 메뉴판에 적힌 메뉴가 고객과 바리스타 간의 인터페이스라고 볼 수 있습니다.

따라서, API는 복잡한 내부 과정을 숨기고 필요한 기능을 쉽게 사용할 수 있게 돕는 도구라고 생각하면 이해하기 쉬울 것입니다.

🚙 API를 자동차에 비유한다면

자동차와 같은 기계에 사람간의 소통에 사용되는 말로 명령을 전달하기는 쉽지 않습니다. 음성인식 기능이 있으면 모를까요? 엔진이 돌아가고, 연료가 소모되고, 브레이크 시스템이 작동하는 등 내부적으로 많은 일이 일어납니다. 운전자는 이러한 모든 복잡한 메커니즘을 알 필요가 없고 운전자가 자동차를 제어하려면 차키, 가속페달, 브레이크 페달을 다루는 방법만 알면 쉽게 자동차를 구동할 수 있습니다.

API도 마찬가지입니다. 개발자가 복잡한 소프트웨어 내부 구조를 몰라도, API라는 인터페이스를 사용하면 필요한 기능을 간단히 사용할 수 있습니다.


HTTP API란 무엇인가요?

우리가 웹개발을 하면서 흔히 접하는 API를 HTTP API라고 합니다. 여기서 HTTP란 인터넷 상에서 데이터를주고 받을 때 사용하는 규칙 즉 통신 방법( = 프로토콜 )을 말합니다. HTTP API는 HTTP 프로토콜을 이용해 데이터와 기능을 요청하고 응답받는 방식으로 작동합니다. 웹 브라우저가 웹사이트에 요청을 보내고 HTML 페이지를 받는 것과 비슷한 방식입니다.

 

HTTP API의 구성요소는 아래와 같지만 어렵다면 빠르게 훑고 넘어가도 좋습니다.

  • 엔드포인트(URL): API에 요청을 보내는 주소입니다.
  • HTTP 메서드: 요청의 종류를 나타냅니다.
    • GET: 데이터를 요청.
    • POST: 데이터를 서버에 전송.
    • PUT: 데이터를 업데이트.
    • DELETE: 데이터를 삭제.
  • 응답(Response): 요청에 대한 결과로 반환되는 데이터입니다. 보통 JSON 형식으로 제공됩니다.

HTTP API는 크게 두 가지로 나뉩니다:

  • Private API: 회사 자체 서비스에 사용하기 위해 개발된 API.
  • Public API(Open API): 기상청의 날씨 정보 API처럼 누구나 사용할 수 있도록 공개된 API.

🔖 주변에서 볼 수 있는 HTTP API

1. 날씨 앱

날씨 앱은 날씨 정보를 제공하기 위해 HTTP API를 사용합니다. 예를 들어, 날씨 서비스 제공업체의 API에 다음과 같은 요청을 보낼 수 있습니다

GET https://api.weather.com/v1/location/seoul?units=metric&apikey=YOUR_API_KEY
  • 요청: 서울의 현재 날씨 정보를 요청.
  • 응답: 온도, 습도, 강수량 등의 데이터를 포함한 JSON 응답.
{
  "location": "Seoul",
  "temperature": "5",
  "unit": "Celsius",
  "condition": "Cloudy"
}

앱은 이 응답 데이터를 사용자 인터페이스에 표시합니다.

2. 배달 앱

배달 앱에서 "가장 가까운 음식점 찾기" 기능은 지도 API를 활용합니다. 예를 들어, 구글 지도 API에 다음과 같은 요청을 보낼 수 있습니다.

GET https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.5665,126.9780&radius=1000&type=restaurant&key=YOUR_API_KEY
  • 요청: 현재 위치(37.5665, 126.9780)에서 반경 1km 이내의 음식점 정보를 요청.
  • 응답: 음식점 목록과 위치 데이터가 포함된 JSON 응답.
{
  "results": [
    {
      "name": "한식당",
      "location": {"lat": 37.567, "lng": 126.9785},
      "rating": 4.5
    },
    {
      "name": "중식당",
      "location": {"lat": 37.565, "lng": 126.9775},
      "rating": 4.0
    }
  ]
}

 

배달 앱은 이 데이터를 기반으로 음식점을 지도에 표시합니다.

3. SNS 플랫폼

SNS 앱에서 "게시물 작성" 기능은 HTTP API의 POST 요청을 사용합니다. 예를 들어, 사용자가 새로운 게시물을 작성하면 다음과 같은 요청이 전송됩니다:

POST https://api.snsplatform.com/posts

 

요청 본문(JSON)

{
  "userId": 123,
  "content": "오늘 날씨가 너무 좋다!",
  "tags": ["#날씨", "#좋은날"]
}
  • 요청: 새로운 게시물 데이터 전송.
  • 응답: 게시물이 성공적으로 생성되었다는 확인 메시지.
{
  "success": true,
  "postId": 456
}

마무리

API는 복잡한 소프트웨어 간의 소통을 간단하게 만들어주는 중요한 도구입니다. 특히 HTTP API는 우리가 매일 사용하는 웹 서비스와 모바일 앱의 핵심 구성 요소입니다. 날씨 앱, 배달 앱, SNS 등 다양한 서비스에서 HTTP API가 어떻게 활용되는지 이해하면, 개발자가 API를 통해 기능을 구현하고 데이터를 주고받는 방식을 더욱 쉽게 배울 수 있습니다. 

 

참조

api에 대해 알아보자

 

728x90