주요 내용

API는 요청을 수락하고 적절한 응답을 제공함으로써 서로 다른 소프트웨어 애플리케이션 간의 효과적인 통신을 가능하게 하여 데이터에 액세스하고 조작하는 프로세스를 간소화하는 데 중요한 역할을 합니다.

RESTful API는 리소스에 액세스하고 조작하기 위한 수단으로 통일 리소스 식별자(URI)를 활용하며, 그에 따라 정보를 검색, 추가, 업데이트 또는 삭제하기 위해 GET, POST, PUT, DELETE와 같은 다양한 요청 동사를 사용합니다.

자바스크립트 내 Got이나 파이썬의 Requests와 같은 리소스를 활용하여 URL 내에 필요한 API 키와 요청을 포함시키는 방식으로 여러 RESTful API에서 정보를 추출하는 프로그램을 구성할 수 있습니다.

API(애플리케이션 프로그래밍 인터페이스)는 서로 다른 소프트웨어 시스템 간의 상호 작용 및 데이터 교환을 가능하게 하도록 설계된 기능 모음을 말합니다. API의 주요 기능은 한 프로그램의 요청을 수락하고 적절한 응답을 발신자에게 다시 제공하는 것입니다. 본질적으로 다양한 소프트웨어 구성 요소 간의 원활한 통합과 상호 운용성을 가능하게 하는 가교 또는 중재자 역할을 합니다.

클라이언트-서버 애플리케이션을 만드는 데 REST(Representational State Transfer) 아키텍처 스타일이 사용됩니다. 본질적으로 RESTful API는 데이터베이스에서 검색된 정보의 묘사를 제공합니다. 또한 이러한 API에는 영구 상태가 없으므로 서버가 연속적인 클라이언트 요청에 걸쳐 데이터를 보유하지 않습니다.

REST API는 어떻게 작동하나요?

RESTful API는 데이터를 검색하고 조작하기 위해 URI(Uniform Resource Identifier)를 활용하며, 이러한 작업에 사용되는 URI의 주된 형태는 URL입니다.

RESTful API는 리소스를 검색하거나 수정하기 위해 특정 HTTP 요청 메서드를 사용합니다. 여기에는 다음이 포함됩니다:

데이터베이스에서 정보를 검색하는 프로세스를 “데이터 가져오기” 또는 “쿼리”라고 합니다. 이 작업에는 해당 매개변수와 일치하는 관련 레코드를 검색하기 위해 검색어 또는 필터와 같은 특정 기준 집합을 사용하여 데이터베이스 관리 시스템(DBMS)에 요청을 보내는 작업이 포함됩니다. 그러면 DBMS는 이 요청을 처리하고 추가 분석 또는 표시를 위해 요청된 데이터를 애플리케이션 또는 사용자에게 반환합니다.

고급 오픈 소스 관계형 데이터베이스 관리 시스템인 PostgreSQL을 사용하면 SQL 명령이나 Python 및 Java와 같은 프로그래밍 언어와 같은 다양한 방법을 통해 광범위한 저장소에 새 데이터를 추가할 수 있습니다.

저장 및 검색 목적으로 데이터베이스에 정보를 추가하거나 업데이트합니다.

관계형 또는 비관계형 데이터베이스에서 정보를 말소하는 작업을 “삭제”라고 합니다.이 작업에는 쿼리에 지정된 키 값 또는 조건과 같이 미리 정의된 기준에 따라 데이터베이스에서 특정 레코드, 행 또는 항목을 제거하는 작업이 포함됩니다. 삭제 명령은 개발자와 관리자가 데이터 무결성을 유지하고 관련성이 없거나 오래된 정보가 시스템을 어지럽히지 않도록 하기 위해 자주 사용합니다.

이 글도 확인해 보세요:  녹 매크로: 매크로를 사용하여 코드를 개선하는 방법

직접 구축하는 대신 인터넷을 통해 공개적으로 액세스 가능한 수많은 RESTful 웹 서비스 오퍼링을 활용하는 경우(구축이 아닌 소비라고도 함), 이러한 리소스에 액세스하기 위한 인터페이스 역할을 하는 URL(Uniform Resource Locator)을 통해 GET 방법만 사용하도록 제한됩니다. 해당 URL에는 다양한 구성 요소가 있지만, 주로 API(애플리케이션 프로그래밍 인터페이스) 키로 알려진 고유 식별자와 사용자의 요구와 관련된 검색 매개변수 또는 쿼리 문자열이 있습니다.

RESTful API 플랫폼에 성공적으로 등록하면 개인은 API 키로 알려진 고유 식별자를 얻게 됩니다. 이는 단순화된 수학 공식을 활용하여 문의를 맞춤화할 수 있는 수단으로 사용됩니다. 예를 들어, 뉴욕시의 현재 기상 상태를 검색하고자 하는 사용자는 URL의 쿼리 섹션에 ““도시=뉴욕—이라는 절을 포함시킬 수 있습니다.

GET 요청을 실행하면 결과 응답은 상태 코드와 본문으로 구성됩니다. 요청이 아무런 장애 없이 진행되는 경우, 응답 본문은 웹사이트 또는 애플리케이션에서 활용하기 위해 요청된 정보를 제공해야 합니다.

자바스크립트 애플리케이션을 사용하여 다른 REST API에서 데이터 가져오기

NodeJS 및 npm. 우분투 기반 시스템을 사용하는 개인 사용자를 위해 NodeJS와 npm의 설치 프로세스를 자세히 설명하는 종합 가이드를 제공합니다. 또한 Windows 기반 운영 체제에 동일한 구성 요소를 설치하는 데 필요한 단계를 간략하게 설명하는 리소스도 제공합니다. 더 자세한 정보가 필요하시면 해당 주제에 대한 각 문서를 참조하세요.

앞서 언급한 소프트웨어 패키지를 설치한 후에는 다음 후속 조치를 반드시 따라야 합니다:

통합 개발 환경(IDE)을 열고 그 안에서 터미널을 시작하세요.

JavaScript 애플리케이션 파일이 있는 디렉터리에 액세스하려면 터미널 또는 명령 프롬프트에서 “cd” 명령을 사용합니다. 이렇게 하면 현재 작업 디렉터리를 변경하고 원하는 위치로 효과적으로 이동할 수 있습니다.

`npm init`. 그러면 프로젝트를 설정하고 그에 따라 NPM을 구성하는 데 도움이 되는 일련의 질문이 실행됩니다.

본 애플리케이션의 핵심 기능 구현은 NodeJS용 HTTP 요청 라이브러리 역할을 하는 “got”이라는 특정 npm 패키지에 의존합니다. 프로젝트의 소스 코드에 이 구성 요소를 통합하려면 아래에 제공된 설치 명령을 실행하면 됩니다:

 npm install got@latest 

이제 원하는 경우 애플리케이션을 자유롭게 구성할 수 있습니다.

이 글도 확인해 보세요:  자바스크립트에서 Intl API를 사용하는 방법

Got 라이브러리를 사용하여 애플리케이션 빌드하기

 // import the got library into your application
import got from 'got';

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

앞서 언급한 애플리케이션은 액세스 가능한 모든 RESTful 웹 API에서 정보를 검색할 수 있습니다. 하지만 사용자가 원하는 리소스에 해당하는 적절한 URL(Uniform Resource Locator)을 미리 제공해야 합니다.

날씨 REST API에서 데이터 가져오기

Weatherbit.io API 는 가장 많이 사용되는 날씨 API 중 하나입니다. 위의 간단한 자바스크립트 애플리케이션에 이 API의 URL을 삽입하면 앱이 작동합니다.

Weatherbit.io REST API 사용

 // import the got library into your application
const got = require('got');

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const URL =
     'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';

    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

애플리케이션 내에 Weatherbit.io API의 URL을 포함시키는 것이 쉬워졌습니다. 그럼에도 불구하고 URL의 특정 부분, 즉 무료 계정 등록에 성공하면 Weatherbit.io에서 제공하는 “API\_KEY”로 지정된 부분을 변경하는 것이 필수적입니다.

또는 제공된 코드 내에서 쿼리 매개변수를 수정하도록 선택할 수 있습니다. 현재 이 프로그램은 북위 40.7128도, 서경 -74.0060도의 지리적 좌표에서 기상 데이터를 검색하지만, 사용자는 필요에 따라 새로운 좌표를 입력할 수 있습니다. 앞서 언급한 방법론이 효과적인 것으로 간주되었지만, 대신 특정 도시 이름을 입력하여 날씨 정보를 찾을 수 있습니다.

지정된 필드에 API 키를 제공하면 이제 자바스크립트 스크립트를 실행할 수 있는 권한이 부여됩니다. 소프트웨어는 명령줄 인터페이스에 다음과 유사한 출력을 생성합니다:

응답 데이터를 비판적으로 평가한 결과 다음과 같은 몇 가지 중요한 요소가 발견되었습니다:

“도시\_이름”이라고 하는 위치가 지정된 경도 및 위도 좌표에 있습니다.

현재 시간은 현재 순간을 나타내는 방식으로 지정된 날짜 내에서 시와 분의 형식으로 표시되며, “YYYY-MM-DD”로 표시됩니다.

“날씨” 클래스는 날씨 기호, 기후 코드 및 기상 조건에 대한 언어적 묘사로 구성된 엔티티입니다.

뉴스 REST API에서 데이터 가져오기

이 섹션에서는 Newsdata.io API 을 사용합니다.웹의 모든 REST API와 마찬가지로 전 세계의 속보를 검색하는 데 사용할 수 있는 여러 쿼리 옵션을 제공합니다. Newsdata.io API를 사용하면 특정 국가 또는 특정 언어, 카테고리 등의 뉴스를 가져올 수 있습니다.

이 글도 확인해 보세요:  Rust의 제네릭 형식 알아보기

JavaScript 애플리케이션을 활용하면 프로그램 아키텍처 내에서 제공된 URL을 대체하여 RESTful 뉴스 API에서 정보를 검색할 수 있습니다.

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

Newsdata.io API를 사용하여 미국의 속보를 확인하려면 지정된 URL 내에서 고유 API 키를 “YOUR\_API\_KEY”로 대체하세요. 이렇게 수정하면 미국에서 발생하는 최신 뉴스를 확인할 수 있습니다. 또는 일본에서 발생하는 사건에 대한 정보를 얻으려면 “country=us” 매개변수를 “country=jp”로 변경하기만 하면 됩니다.

응답 본문은 객체 모음으로 구성되며, 각 객체는 미국에서 발생한 뉴스 기사를 나타냅니다. 이 어소트먼트 내의 초기 객체는 다음과 같습니다:

Python 애플리케이션을 사용하여 다른 나머지 API에서 데이터 가져오기

능숙한 프로그래밍 언어를 활용하여 사이트 또는 소프트웨어 솔루션에 대한 데이터를 추출할 수 있습니다. 따라서 JavaScript를 사용하지 않으려는 경우 Python 기반 애플리케이션을 구현하여 동등한 결과를 얻을 수 있습니다. 한 가지 옵션은 널리 사용되는 프레임워크 중 하나를 사용하여 Python API를 구성하는 것이고, 다른 대안은 간단한 스크립트를 통해 기존 RESTful API에서 정보를 검색하는 것입니다.

Python에서 요청 라이브러리를 활용하려면 먼저 pip 패키지 관리자를 통해 해당 라이브러리를 다운로드하여 설치해야 합니다. 설치가 완료되면 제공된 코드를 Python 프로젝트에 통합하여 구현할 수 있습니다.

 # import the requests library
import requests

# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()

for key in json:
    print(key, json[key])

API를 활용하려면 해당 필드에 API 키를 통합해야 합니다. 이렇게 하면 JavaScript 구현에서 반환하는 출력과 매우 유사한 응답 본문이 생성됩니다.

웹사이트 또는 애플리케이션의 데이터를 가져오는 것은 매우 간단합니다.

적절한 도구를 사용할 수 있다면 개발자는 애플리케이션에 필요한 정보를 검색할 수 있습니다. REST 아키텍처 스타일은 서비스와 클라이언트 간의 분리된 관계를 촉진한다는 점을 명심하는 것이 중요합니다. 따라서 모든 프로그래밍 언어를 사용하여 인터넷을 통해 모든 RESTful 웹 서비스의 데이터에 액세스할 수 있습니다.

API 키와 쿼리는 API를 통해 필요한 데이터에 액세스하는 데 필수적인 구성 요소이므로 애플리케이션에 필요한 정확한 정보를 얻는 데 있어 그 중요성을 인식하는 것이 중요합니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.