Qu’est-ce que l’API REST et comment récupérer des données pour votre application ou votre site Web ?
L'acronyme API signifie interface de programmation d'applications. Une API est un ensemble de fonctions qui facilite la communication entre deux applications logicielles. Essentiellement, une API prend une demande d'une application logicielle à une autre, puis retourne au logiciel initiateur avec une réponse pertinente.
REST signifie transfert d'état de représentation, et c'est une architecture utilisée pour concevoir des applications client-serveur. Avec une API Rest , vous obtenez une représentation des données demandées stockées dans une base de données. Une API REST est également sans état, ce qui signifie que le serveur ne stocke aucune donnée entre les demandes des clients.
Si vous recherchez un exemple d' API Rest et une explication détaillée de son fonctionnement, continuez à lire.
Comment fonctionne une API REST ?
Une API REST accède aux données via des identificateurs de ressource uniformes (URI), qui sont une chaîne de caractères identifiant une ressource spécifique. Le type d'URI utilisé par une API REST est un localisateur de ressources uniforme (URL).
Pour accéder aux ressources et les manipuler, une API REST utilise les verbes de requête suivants :
- Get (utilisé pour acquérir des données à partir d'une base de données)
- Publier (ajouter de nouvelles données à une base de données)
- Mettre (mettre à jour les données dans une base de données)
- Supprimer (supprimer les données d'une base de données)
Si vous souhaitez utiliser les services de l'une des nombreuses API REST disponibles sur le Web (au lieu d'en créer une à partir de zéro), vous n'aurez accès qu'au verbe de requête get de l' API REST (via une URL). Ces URL ont plusieurs composants, mais ceux que vous devez connaître sont la clé API et la requête.
La clé API est un identifiant unique, que vous recevrez une fois que vous vous serez inscrit sur une plateforme API REST . La requête est généralement une simple équation utilisée pour personnaliser votre recherche. Par conséquent, si vous souhaitez obtenir la météo actuelle à New York, la section de requête de votre URL peut être « city=New York ».
L'exécution d'une requête get renvoie une réponse, qui contient un code d'état et un corps. Si la demande aboutit, le corps de votre réponse contiendra les données que vous souhaitez utiliser sur votre site Web ou votre application.
Utilisation d'une application JavaScript pour récupérer des données à partir de différentes API de repos
Pour créer cette application simple, vous devez installer deux autres applications logicielles sur votre ordinateur : NodeJS et npm. Nous avons écrit un article sur la façon d'installer NodeJS et npm sur Ubuntu , ainsi qu'un autre sur la façon de le faire sous Windows. Consultez-les si vous voulez en savoir plus.
Une fois les applications ci-dessus installées sur votre ordinateur, vous devrez suivre les étapes suivantes :
- Ouvrez votre IDE et lancez le terminal.
- Accédez au dossier contenant votre fichier d'application JavaScript à l'aide de la commande cd.
- Initialisez npm avec la ligne de code suivante :
npm init -y
Il existe un module npm qui jouera un rôle clé dans les fonctionnalités de cette application. Il s'agit du module got, qui est une bibliothèque de requêtes HTTP pour NodeJS. La ligne de code suivante installera la dernière version de la bibliothèque got dans vos fichiers d'application :
npm install got@latest
Vous pouvez maintenant créer votre application.
Utiliser la bibliothèque Got pour créer votre application
//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);
}
})();
L'application ci-dessus récupérera les données de n'importe quelle API REST sur le Web. Cependant, vous devrez d'abord fournir l'URL de la ressource pertinente.
Saisie de données à partir d'une API REST météo
L' API Weatherbit.io est l'une des API REST météo les plus populaires. L'insertion de l'URL de cette API dans l'application JavaScript simple ci-dessus rendra l'application opérationnelle.
Utilisation de l'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);
}
})();
L'URL de l' API Weatherbit.io est maintenant insérée avec succès dans l'application. Cependant, il y a un aspect de l'URL que vous devez ajuster pour faire fonctionner l'application. Il s'agit de la section intitulée « API_KEY », et cette clé est ce que vous recevrez de Weatherbit.io lorsque vous vous inscrivez pour un compte gratuit.
Vous avez également la possibilité d'ajuster la section de requête dans le code ci-dessus. L'application interroge actuellement la météo à la latitude de 40,7128 et à la longitude de -74,0060, mais vous pouvez insérer de nouvelles coordonnées. Bien que la requête ci-dessus soit l'approche recommandée, vous pouvez rechercher la météo à un endroit en utilisant le nom de la ville.
Pour plus d'informations sur l'utilisation de l' API REST Weatherbit.io, cliquez ici .
Après avoir inséré votre clé API dans la section appropriée ci-dessus, vous pouvez maintenant exécuter votre fichier JavaScript. L'application fournira quelque chose de similaire à la sortie suivante dans votre terminal.
Exemple de réponse de l'API REST 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
}
Certains des aspects les plus importants des données renvoyées dans la réponse comprennent :
- City_name (renvoie le nom de la ville à la longitude et la latitude fournies).
- Datetime (renvoie l'heure actuelle du cycle au format AAAA-MM-JJ : HH).
- Météo (renvoie un objet contenant une icône météo, un code météo et une description textuelle de la météo).
Saisie de données à partir d'une API REST News
L' API d' actualités utilisée dans cette section est Newsdata.io. Comme toutes les API REST sur le Web, elle fournit plusieurs options de requête, que vous pouvez utiliser pour récupérer les dernières nouvelles du monde entier. Avec l' API Newsdata.io, vous pouvez obtenir des nouvelles d'un pays spécifique, ou dans une langue particulière, une catégorie, etc.
À l'aide de l'application JavaScript, vous pouvez récupérer les données de l' API REST de nouvelles. Remplacez simplement l'URL dans l'application ci-dessus par l'URL suivante :
'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'
L'étape suivante consiste à remplacer la section "YOUR_API_KEY" dans l'URL ci-dessus par la clé API que vous recevrez après votre inscription sur Newsdata.io. L'URL ci-dessus renverra les dernières nouvelles d'Amérique. Cependant, si vous voulez des nouvelles du Japon, vous pouvez simplement remplacer la requête « pays=us » par « pays=jp ».
Pour plus d'informations sur l'utilisation de l' API REST Newsdata.io, cliquez ici .
Exemple de réponse de l'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'
}
Utilisation d'une application Python pour récupérer des données à partir de différentes API de repos
Il est possible de récupérer des données pour votre site Web ou votre application à l'aide de n'importe quel langage de programmation que vous connaissez bien. Ainsi, si vous ne souhaitez pas utiliser JavaScript, vous pouvez obtenir les mêmes résultats avec une application Python.
Tout ce que vous avez à faire est d'installer le module python HTTP de requêtes à l'aide de l'environnement pip. Ensuite, vous pouvez créer votre application Python à l'aide du code suivant :
# 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])
Semblable aux exemples précédents, vous devrez insérer votre clé API dans la section appropriée. Vous recevrez alors les mêmes données que celles renvoyées par l'application JavaScript.
Saisir des données pour votre site Web ou votre application est assez simple
Vous disposez maintenant des outils dont vous avez besoin pour récupérer les données de vos applications logicielles. Il est important de se rappeler que l'architecture REST facilite le couplage lâche, ce qui signifie que vous pouvez utiliser n'importe quel langage de programmation pour récupérer des données à partir de n'importe quelle API REST sur le Web.
Maintenant que vous savez utiliser l' API Rest , pourquoi ne pas l'essayer ?