Что такое REST API и как получить данные для своего приложения или веб-сайта?

Аббревиатура API означает интерфейс прикладного программирования. API – это набор функций, которые упрощают обмен данными между двумя программными приложениями. По сути, API принимает запрос от одного программного приложения к другому, а затем возвращается к исходному программному обеспечению с соответствующим ответом.

REST означает передачу репрезентативного состояния, и это архитектура, используемая для разработки клиент-серверных приложений. С помощью Rest API вы получаете представление запрошенных данных, хранящихся в базе данных. REST API также не имеет состояния, что означает, что сервер не хранит никаких данных между запросами от клиентов.

Если вы ищете пример Rest API и подробное объяснение того, как он работает, продолжайте читать.

Как работает REST API?

REST API обращается к данным через унифицированные идентификаторы ресурсов (URI), которые представляют собой строку символов, которые идентифицируют конкретный ресурс. Тип URI, используемый REST API, – это унифицированный указатель ресурса (URL).

Для доступа к ресурсам и управления ими REST API использует следующие команды запроса:

  • Get (используется для получения данных из базы данных)
  • Опубликовать (добавить новые данные в базу)
  • Положить (обновить данные в базе)
  • Удалить (удалить данные из базы данных)

Если вы хотите использовать службы одного из многих REST API, доступных в Интернете (вместо создания одного с нуля), у вас будет доступ только к команде запроса получения REST API (через URL-адрес). Эти URL-адреса состоят из нескольких компонентов, но вам необходимо знать ключ API и запрос.

Ключ API – это уникальный идентификатор, который вы получите после регистрации на платформе REST API . Запрос обычно представляет собой простое уравнение, используемое для персонализации поиска. Поэтому, если вы хотите узнать текущую погоду в Нью-Йорке, раздел запроса вашего URL-адреса может быть «city = New York».

Выполнение запроса на получение возвращает ответ, который содержит код состояния и тело. Если запрос будет успешным, ваше тело ответа будет содержать данные, которые вы хотите использовать на своем веб-сайте или в приложении.

Использование приложения JavaScript для получения данных из разных API-интерфейсов Rest

Чтобы создать это простое приложение, вам необходимо установить на свой компьютер еще два программных приложения: NodeJS и npm. Мы написали статью о том, как установить NodeJS и npm в Ubuntu , а также статью о том, как это сделать в Windows, поэтому ознакомьтесь с ними, если хотите узнать больше.

После того, как указанные выше приложения будут установлены на ваш компьютер, вам необходимо будет выполнить следующие действия:

  1. Откройте свою IDE и запустите терминал.
  2. Перейдите в папку, содержащую файл вашего приложения JavaScript, с помощью команды cd.
  3. Инициализируйте npm следующей строкой кода:
 npm init -y

Есть один модуль npm, который будет играть ключевую роль в функциональности этого приложения. Это полученный модуль, представляющий собой библиотеку HTTP-запросов для NodeJS. Следующая строка кода установит последнюю версию полученной библиотеки в файлы вашего приложения:

 npm install got@latest

Теперь вы можете приступить к созданию своего приложения.

Использование библиотеки Got для сборки вашего приложения

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

//fetch data from a specific REST 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);
}
})();

Приведенное выше приложение будет получать данные из любого REST API в Интернете. Однако сначала вам нужно будет указать URL-адрес соответствующего ресурса.

Получение данных из REST API погоды

Weatherbit.io API – один из самых популярных REST API погоды. Вставка URL-адреса этого API в простое приложение JavaScript, приведенное выше, сделает приложение работоспособным.

Использование REST API Weatherbit.io

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

//fetch data from a specific REST 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);
}
})();

URL-адрес API Weatherbit.io теперь успешно вставлен в приложение. Однако есть один аспект URL-адреса, который необходимо настроить для запуска приложения. Это раздел с надписью «API_KEY», и этот ключ вы получите от Weatherbit.io при регистрации бесплатной учетной записи.

У вас также есть возможность настроить раздел запроса в приведенном выше коде. В настоящее время приложение запрашивает погоду на широте 40,7128 и долготе -74,0060, но вы можете вставить новые координаты. Хотя приведенный выше запрос является рекомендуемым подходом, вы можете искать погоду в месте, используя название города.

Для получения дополнительной информации о том, как использовать REST API Weatherbit.io, щелкните здесь .

После вставки ключа API в соответствующий раздел выше вы можете выполнить свой файл JavaScript. Приложение выдаст в вашем терминале что-то похожее на следующий вывод.

Пример ответа REST API Weatherbit.io

 data: [
{
rh: 53,
pod: 'd',
lon: -74.01,
pres: 1005.9,
timezone: 'America/New_York',
ob_time: '2021-09-27 14:50',
country_code: 'US',
clouds: 25,
ts: 1632754200,
solar_rad: 652.8,
state_code: 'NY',
city_name: 'New York City',
wind_spd: 5.66,
wind_cdir_full: 'west-southwest',
wind_cdir: 'WSW',
slp: 1015.9,
vis: 5,
h_angle: -30,
sunset: '22:44',
dni: 851.72,
dewpt: 12,
snow: 0,
uv: 5.68859,
precip: 0,
wind_dir: 240,
sunrise: '10:49',
ghi: 657.55,
dhi: 106.79,
aqi: 53,
lat: 40.71,
weather: [Object],
datetime: '2021-09-27:14',
temp: 22,
station: 'KJRB',
elev_angle: 40.89,
app_temp: 21.7
}
],
count: 1
}

Некоторые из наиболее важных аспектов данных, возвращаемых в ответе, включают:

  • City_name (возвращает название города с указанными долготой и широтой).
  • Datetime (возвращает текущий час цикла в формате ГГГГ-ММ-ДД: ЧЧ).
  • Погода (возвращает объект, содержащий значок погоды, код погоды и текстовое описание погоды).

Получение данных из REST API новостей

В этом разделе используется API новостей Newsdata.io. Как и все REST API в Интернете, он предоставляет несколько параметров запроса, которые можно использовать для получения последних новостей со всего мира. С помощью API Newsdata.io вы можете получать новости из определенной страны, определенного языка, категории и т. Д.

Используя приложение JavaScript, вы можете получать данные из REST API новостей. Просто замените URL-адрес в приведенном выше приложении на следующий URL-адрес:

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

Следующим шагом является замена раздела «YOUR_API_KEY» в приведенном выше URL-адресе API- ключом, который вы получите после регистрации в Newsdata.io. По указанному выше URL будут возвращены последние новости из Америки. Однако, если вам нужны новости из Японии, вы можете просто заменить запрос «contry = us» на «country = jp».

Для получения дополнительной информации о том, как использовать REST API Newsdata.io, щелкните здесь .

Связанные: Хотите добавить заголовки новостей на свой веб-сайт или в приложение? Вам нужен Mediastack API

Newsdata.io Пример ответа REST API

 {
title: 'Driver Killed By His Own Car Door While Waiting In Line At Fast-Food Drive-Thru, Providing Cautionary Insights For AI Self-Driving Cars',
link: 'https://www.forbes.com/sites/lanceeliot/2021/09/27/driver-killed-by-his-own-car-door-while-waiting-in-line-at-fast-food-drive-thru-providing-cautionary-insights-for-ai-self-driving-cars/',
keywords: [Array],
creator: [Array],
video_URL: null,
description: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about
the advent of AI-based self-driving cars. Here's the insider look.",
content: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about the
advent of AI-based self-driving cars. Here's the insider look.",
pubDate: '2021-09-27 15:30:00',
image_URL: 'https://thumbor.forbes.com/thumbor/fit-in/0x0/filters%3Aformat%28jpg%29/https://specials-images.forbesimg.com/imageserve/614272b9f18bec6882652695/0x0.jpg?cropX1=23&cropX2=2455&cropY1=23&cropY2=1538',
source_id: 'forbes'
}

Использование приложения Python для получения данных из разных API-интерфейсов Rest

Можно получать данные для вашего веб-сайта или приложения, используя любой язык программирования, с которым вы знакомы. Итак, если вы не хотите использовать JavaScript, вы можете добиться тех же результатов с помощью приложения Python.

Связанный: Как создавать API на Python: популярные фреймворки

Все, что вам нужно сделать, это установить модуль HTTP запросов 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 в соответствующий раздел. Затем вы получите те же данные, что и приложение JavaScript.

Получить данные для вашего веб-сайта или приложения довольно просто

Теперь у вас есть инструменты, необходимые для сбора данных для ваших программных приложений. Важно помнить, что архитектура REST способствует слабой связи, что означает, что вы можете использовать любой язык программирования для получения данных из любого REST API в Интернете.

Теперь вы знаете, как использовать Rest API , почему бы не попробовать?