Contents

Wat is REST API en hoe kun je gegevens ophalen voor je app of website?

Belangrijkste resultaten

API’s spelen een essentiële rol bij het mogelijk maken van naadloze communicatie tussen verschillende softwarecomponenten door invoerverzoeken te accepteren en geschikte uitvoerantwoorden te geven, waardoor het proces van toegang tot en manipulatie van gegevens in verschillende systemen wordt vereenvoudigd.

RESTful API’s maken gebruik van Uniform Resource Identifiers (URI’s) als middel om toegang te krijgen tot bronnen en deze te manipuleren, waarbij gebruik wordt gemaakt van verschillende verzoekverbs zoals GET, POST, PUT en DELETE om bewerkingen uit te voeren, waaronder het ophalen, creëren, wijzigen en verwijderen van informatie.

Door gebruik te maken van bibliotheken zoals got in JavaScript of requests in Python kunnen ontwikkelaars toepassingen bouwen waarmee informatie van meerdere RESTful API’s kan worden opgehaald door een API-sleutel en een query in de URL op te geven.

De term “API” vertegenwoordigt het concept van een toepassingsprogramma-interface, die dient als een medium voor het faciliteren van communicatie tussen applicaties door middel van een reeks gedefinieerde functies. Als een softwareprogramma via een API een verzoek verstuurt naar een ander programma, ontvangt het een overeenkomstig en relevant antwoord terug.

REST (Representational State Transfer) is een architectuurstijl die gebruikt wordt bij de ontwikkeling van client-server toepassingen. Het gaat om het verkrijgen van een weergave van gegevens die zich in een database bevinden door het gebruik van een RESTful API. Bovendien werkt dit type API op een stateloze manier, wat betekent dat de server geen informatie over clientverzoeken bewaart tijdens de tussenliggende perioden.

Hoe werkt een REST API?

Een RESTful API maakt gebruik van Uniform Resource Identifiers (URI’s) om gegevens op te halen en te manipuleren, waarbij URL’s de typische vorm van URI’s zijn die in dergelijke contexten worden gebruikt.

Om bronnen te gebruiken en te wijzigen, maakt een RESTful API gebruik van specifieke verzoekverbs voor toegang tot en manipulatie van bronnen:

⭐Getâ€"haalt gegevens op uit een database.

⭐Postâ€"voegt nieuwe gegevens toe aan een database.

⭐Putâ€"werkt gegevens bij in een database.

⭐Deleteâ€"verwijdert gegevens uit een database.

Door gebruik te maken van de vele reeds bestaande RESTful API’s die online beschikbaar zijn als alternatief voor het bouwen van je eigen (in plaats van het ontwikkelen van een aangepaste oplossing) worden je opties beperkt tot alleen de GET-aanvraagmethode (via een URL). De URL’s in kwestie bevatten verschillende elementen, maar de elementen die het meest relevant zijn voor jouw behoeften omvatten de vereiste autorisatiegegevens en onderzoeksparameters die nodig zijn voor het ophalen van gegevens.

Bij registratie bij een RESTful Application Programming Interface (API) platform krijgt een individu een unieke identificatiecode die API-sleutel wordt genoemd. Deze sleutel dient als middel om iemands zoekopdracht aan te passen door gebruik te maken van een specifieke vraag of zoekopdracht. Als iemand bijvoorbeeld informatie wil verkrijgen over de huidige klimaatomstandigheden in New York City, dan zou hij “city=New York” opnemen in het zoekgedeelte van zijn Uniform Resource Locator (URL).

Bij het uitvoeren van een GET-verzoek bestaat het resulterende antwoord uit een statuscode en een inhoud. Als het verzoek met succes is uitgevoerd, bevat de inhoud van het antwoord de gewenste informatie voor gebruik binnen een website of toepassing.

Een JavaScript-applicatie gebruiken om gegevens van verschillende REST API’s te halen

Om deze JavaScript-applicatie te ontwikkelen, is het nodig om twee afzonderlijke softwareprogramma’s te downloaden en op je computer te installeren, namelijk NodeJS en npm. Gelukkig hebben we een gedetailleerde handleiding gemaakt voor gebruikers van zowel Ubuntu als Windows besturingssystemen. Als je meer informatie over dit onderwerp wilt, raadpleeg dan onze respectievelijke artikelen die de stap-voor-stap installatieprocedures voor elk platform beschrijven.

Na de installatie van de bovengenoemde softwarepakketten is het noodzakelijk om de volgende acties uit te voeren:

Open je geïntegreerde ontwikkelomgeving (IDE) en start daarin de terminal.

Om toegang te krijgen tot de map waarin je JavaScript-toepassingsbestand staat, gebruik je de opdracht cd in een terminal- of opdrachtpromptvenster. Hiermee kun je de huidige werkmap wijzigen en gemakkelijker naar de gewenste locatie navigeren.

⭐ Initialiseer npm met de volgende regel code:

 npm init -y 

De implementatie van de kernfunctionaliteit van deze applicatie is afhankelijk van een specifieke npm-module bekend als “got”, die dient als een HTTP-verzoekbibliotheek voor NodeJS. Om ervoor te zorgen dat de got bibliotheek is opgenomen in de applicatiebestanden, kun je het commando gebruiken om automatisch de meest recente versie te installeren:

 npm install got@latest 

Je bent nu vrij om je applicatie naar eigen inzicht te bouwen.

De got-bibliotheek gebruiken om je toepassing te bouwen

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

De bovenstaande toepassing kan informatie halen uit elke internetgebaseerde RESTful API; het is echter noodzakelijk om vooraf de juiste Uniform Resource Locator (URL) van de relevante bron te leveren.

Gegevens ophalen uit een Weer REST API

De Weatherbit.io API is een van de populairdere weer-API’s. Het invoegen van de URL van deze API in de bovenstaande eenvoudige JavaScript-toepassing maakt de app operationeel. Door de URL van deze API in te voegen in de eenvoudige JavaScript-toepassing hierboven wordt de app operationeel.

De Weatherbit.io REST API gebruiken

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

De URL voor de Weatherbit.io API is geïntegreerd in de applicatie. Voor een goede werking is het essentieel om een element in de URL aan te passen dat “API\_KEY” wordt genoemd. Deze sleutel wordt verstrekt door Weatherbit.io bij registratie voor een gratis account en dient als cruciaal onderdeel voor toegang tot hun diensten via deze API.

U kunt ervoor kiezen om de query sectie in de bijgeleverde code aan te passen. Momenteel haalt het programma weergegevens op bij de geografische coördinaten 40,7128 graden noorderbreedte en -74,0060 graden westerlengte; je hebt echter de flexibiliteit om desgewenst andere coördinaten in te voeren. Hoewel de gegeven implementatie geschikt wordt geacht, heb je ook de optie om naar weersinformatie te zoeken op basis van de naam van een specifieke stad.

Na het invoeren van je API-sleutel in het daarvoor bestemde veld, ben je nu gemachtigd om je JavaScript-script uit te voeren. De interface zou een bericht moeten tonen dat lijkt op het volgende resultaat op je opdrachtprompt:

/nl/images/weather-api-response-body-part1.jpg /nl/images/weather-api-response-body-part2.jpg

Bepaalde sleutelelementen van de responsgegevens zijn opmerkelijk, inclusief maar niet beperkt tot:

De stad op de opgegeven lengte- en breedtecoördinaten wordt aangeduid met de naam, die dient als unieke identificatie voor dat specifieke stedelijke gebied binnen de bredere geografische regio.

De huidige tijd wordt uitgedrukt in gecoördineerde universele tijd (UTC) en vertegenwoordigt het uur van de dag in de jaar-, maand- en datumnotatie met een combinatie van cijfers en letters om zowel het jaar als de dag van de week aan te geven (zoals “2023-04-15T08:30”).

De entiteit “weer” vertegenwoordigt een samengestelde structuur die bestaat uit een visueel symbool dat meteorologische omstandigheden aanduidt, een corresponderende alfanumerieke identifier bekend als een weercode, en een verbale representatie van de huidige of voorspelde klimaattoestand.

Gegevens ophalen uit een News REST API

Dit gedeelte maakt gebruik van de Newsdata.io API . Zoals alle REST API’s op het web, biedt deze verschillende query opties, die je kunt gebruiken om het laatste nieuws van over de hele wereld op te halen. Met de Newsdata.io API kun je nieuws uit een specifiek land of in een bepaalde taal, categorie, enzovoort ophalen.

Door gebruik te maken van de JavaScript-toepassing kan men informatie verkrijgen van een News RESTful API door simpelweg de opgegeven URL binnen de toepassing te vervangen door de opgegeven URL hieronder:

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

Om toegang te krijgen tot het laatste nieuws uit Amerika met behulp van de Newsdata.io API, moet men de “YOUR_API\_KEY” placeholder binnen de opgegeven URL vervangen door hun unieke API key, die zij zullen verkrijgen na succesvolle registratie bij Newsdata.io. Door de “country” parameter te veranderen van “us” naar “jp”, wordt het mogelijk om nieuwsartikelen uit Japan op te halen.

De resulterende gegevenslading bestaat uit een reeks instanties, die elk relevante informatie bevatten over actuele gebeurtenissen in de Verenigde Staten van Amerika. In dit specifieke geval zal het eerste element van de verzameling dienen als uitgangspunt voor verdere analyse en discussie.

/nl/images/news-api-response-body-part1.jpg /nl/images/news-api-response-body-part2.jpg

Een Python-applicatie gebruiken om gegevens van verschillende Rest API’s te halen

Het is mogelijk om gegevens voor een website of softwareprogramma te verkrijgen met behulp van elke programmeertaal waarin je bedreven bent. Als je liever geen JavaScript gebruikt, kun je gelijkwaardige resultaten bereiken door een op Python gebaseerde oplossing te implementeren. Dit kan inhouden dat je een Python Application Programming Interface (API) bouwt door middel van een van de veelgebruikte frameworks, of dat je informatie ophaalt uit een bestaande Representational State Transfer (REST) API met een eenvoudig script.

Om de requests bibliotheek in Python te gebruiken, is het noodzakelijk om pip package manager te gebruiken en de bovengenoemde module te installeren. Eenmaal geïnstalleerd kan iemand zijn programma ontwikkelen door de meegeleverde code te implementeren.

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

Om de functionaliteit van de application programming interface (API) te gebruiken, is het noodzakelijk om je unieke identificatiecode (API-sleutel) in het daarvoor bestemde veld op te nemen. Dit genereert een responsobject, dat sterk lijkt op de uitvoer die wordt gegenereerd door de JavaScript-implementatie, met gegevens in een formaat dat geschikt is voor verwerking en analyse.

/nl/images/news-api-response-body-python.jpg

Gegevens ophalen voor je website of applicatie is vrij eenvoudig

Met de beschikbaarheid van voldoende middelen is het essentieel om de voordelen van de REST-architectuurbenadering te erkennen bij het bevorderen van ontkoppeling tussen verschillende componenten. De veelzijdigheid van deze methode stelt ontwikkelaars in staat om een verscheidenheid aan programmeertalen te gebruiken terwijl ze toegang krijgen tot gegevens van een uitgebreide reeks RESTful API’s die online beschikbaar zijn.

Het is essentieel om het belang van zowel de API-sleutel als de query te erkennen wanneer je probeert de exacte informatie te verkrijgen die je applicatie nodig heeft.