O que é REST API e como você pode obter dados para seu aplicativo ou site?

A sigla API significa interface de programação de aplicativo. Uma API é um conjunto de funções que facilita a comunicação entre dois aplicativos de software. Essencialmente, uma API leva uma solicitação de um aplicativo de software para outro e, em seguida, retorna ao software inicial com uma resposta relevante.

REST significa transferência de estado representacional e é uma arquitetura usada para projetar aplicativos cliente-servidor. Com uma API Rest , você obtém uma representação dos dados solicitados armazenados em um banco de dados. Uma API REST também não tem estado, o que significa que o servidor não armazena nenhum dado entre as solicitações dos clientes.

Se você está procurando um exemplo de API Rest e uma explicação detalhada de como ela funciona, continue lendo.

Como funciona uma API REST?

Uma API REST acessa dados por meio de identificadores uniformes de recursos (URIs), que é uma sequência de caracteres que identifica um recurso específico. O tipo de URI usado por uma API REST é um localizador uniforme de recursos (URL).

Para acessar e manipular recursos, uma API REST usa os seguintes verbos de solicitação:

  • Get (usado para adquirir dados de um banco de dados)
  • Publicar (adicionar novos dados a um banco de dados)
  • Colocar (atualizar os dados em um banco de dados)
  • Excluir (excluir dados de um banco de dados)

Se você deseja utilizar os serviços de uma das muitas APIs REST disponíveis na web (em vez de construir uma do zero), você só terá acesso ao verbo get request da API REST (por meio de uma URL). Esses URLs têm vários componentes, mas os que você precisa saber são a chave de API e a consulta.

A chave de API é um identificador exclusivo, que você receberá assim que se registrar em uma plataforma REST API . A consulta geralmente é uma equação simples usada para personalizar sua pesquisa. Portanto, se você deseja obter o clima atual na cidade de Nova York, a seção de consulta do seu URL pode ser “cidade = Nova York”.

Executar uma solicitação get retorna uma resposta, que contém um código de status e um corpo. Se a solicitação for bem-sucedida, o corpo da sua resposta conterá os dados que você deseja usar no seu site ou aplicativo.

Usando um aplicativo JavaScript para coletar dados de diferentes APIs Rest

Para construir este aplicativo simples, existem dois outros aplicativos de software que você precisa instalar no seu computador: NodeJS e npm. Escrevemos um artigo sobre como instalar o NodeJS e o npm no Ubuntu , bem como outro sobre como fazer isso no Windows – verifique-os se quiser saber mais.

Depois que os aplicativos acima forem instalados em seu computador, você precisará realizar as seguintes etapas:

  1. Abra seu IDE e inicie o terminal.
  2. Navegue até a pasta que contém o arquivo do aplicativo JavaScript usando o comando cd.
  3. Inicialize o npm com a seguinte linha de código:
 npm init -y

Há um módulo npm que desempenhará um papel fundamental na funcionalidade deste aplicativo. Este é o módulo obtido, que é uma biblioteca de solicitação HTTP para NodeJS. A linha de código a seguir instalará a versão mais recente da biblioteca obtida nos arquivos do seu aplicativo:

 npm install got@latest

Agora você pode ir em frente e construir seu aplicativo.

Usando a Got Library para construir seu aplicativo

 //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);
}
})();

O aplicativo acima irá obter dados de qualquer API REST na web. No entanto, você precisará fornecer primeiro o URL do recurso relevante.

Obtendo dados de uma API REST do tempo

A API Weatherbit.io é uma das APIs REST meteorológicas mais populares. Inserir a URL desta API no aplicativo JavaScript simples acima tornará o aplicativo operacional.

Usando a API REST 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);
}
})();

A URL para a API Weatherbit.io foi inserida com sucesso no aplicativo. No entanto, há um aspecto da URL que você precisa ajustar para colocar o aplicativo em execução. Esta é a seção chamada “API_KEY”, e esta chave é o que você receberá do Weatherbit.io quando se registrar para uma conta gratuita.

Você também tem a opção de ajustar a seção de consulta no código acima. O aplicativo está atualmente consultando o tempo na latitude de 40,7128 e na longitude de -74,0060, mas você pode inserir novas coordenadas. Embora a consulta acima seja a abordagem recomendada, você pode pesquisar o clima em um local usando o nome da cidade.

Para obter mais informações sobre como usar a API REST Weatherbit.io, clique aqui .

Depois de inserir sua chave de API na seção relevante acima, agora você pode executar seu arquivo JavaScript. O aplicativo fornecerá algo semelhante à seguinte saída em seu terminal.

Weatherbit.io REST API Exemplo de resposta

 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
}

Alguns dos aspectos mais importantes dos dados retornados na resposta incluem:

  • City_name (retorna o nome da cidade na longitude e latitude fornecidas).
  • Data e hora (retorna a hora do ciclo atual no formato AAAA-MM-DD: HH).
  • Clima (retorna um objeto contendo um ícone de clima, código de clima e uma descrição de texto do clima).

Obtendo dados de uma API REST de notícias

A API de notícias usada nesta seção é Newsdata.io. Como todas as APIs REST na web, ele fornece várias opções de consulta, que você pode usar para recuperar as últimas notícias de todo o mundo. Com a API Newsdata.io, você pode obter notícias de um país específico ou em um determinado idioma, categoria e assim por diante.

Usando o aplicativo JavaScript, você pode recuperar dados da API REST de notícias. Basta substituir o URL no aplicativo acima pelo seguinte URL:

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

A próxima etapa é substituir a seção “YOUR_API_KEY” no URL acima pela chave API que você receberá após se registrar no Newsdata.io. O URL acima retornará notícias de última hora da América. No entanto, se você deseja notícias do Japão, pode simplesmente substituir a consulta “contry = us” por “country = jp”.

Para obter mais informações sobre como usar a API REST Newsdata.io, clique aqui .

Relacionado: Deseja adicionar manchetes de notícias ao seu site ou aplicativo? Você precisa da API Mediastack

Exemplo de resposta da API REST Newsdata.io

 {
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'
}

Usando um aplicativo Python para coletar dados de diferentes APIs Rest

É possível obter dados para seu site ou aplicativo usando qualquer linguagem de programação com a qual você esteja familiarizado. Portanto, se você não quiser usar JavaScript, poderá obter os mesmos resultados com um aplicativo Python.

Relacionado: Como construir APIs em Python: estruturas populares

Tudo o que você precisa fazer é instalar o módulo Python HTTP de solicitações usando o ambiente pip. Em seguida, você pode construir seu aplicativo Python usando o seguinte código:

 # 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])

Semelhante aos exemplos anteriores, você precisará inserir sua chave de API na seção relevante. Em seguida, você receberá os mesmos dados que o aplicativo JavaScript retorna.

Obter dados para seu site ou aplicativo é muito simples

Agora você tem as ferramentas de que precisa para obter dados para seus aplicativos de software. É importante lembrar que a arquitetura REST facilita o acoplamento fraco, o que significa que você pode usar qualquer linguagem de programação para obter dados de qualquer API REST na web.

Agora que você sabe como usar a API Rest , por que não tentar?