Wat is een REST API? – Werking en voorbeelden

Een REST API is een veelgebruikte manier waarop verschillende softwaresystemen via het internet gegevens met elkaar uitwisselen. Een applicatie kan bijvoorbeeld gegevens opvragen, toevoegen, wijzigen of verwijderen zonder rechtstreeks toegang te hebben tot de volledige software van het andere systeem.

REST staat voor Representational State Transfer. Vooral websites, webshops, apps en zakelijke software gebruiken REST API’s om gegevens en functies beschikbaar te maken voor andere applicaties.

Wat is een REST API?

Een REST API is een API die is opgebouwd volgens de principes van REST. Deze manier van communiceren maakt gebruik van bestaande webtechnieken, zoals HTTP-verzoeken.

Een applicatie stuurt een verzoek naar een bepaald adres van de API. De server verwerkt het verzoek en stuurt vervolgens een antwoord met gegevens of informatie over het resultaat terug.

Stel dat een webshop actuele productgegevens nodig heeft uit een voorraadsysteem. De webshop kan via een REST API bijvoorbeeld opvragen hoeveel exemplaren van een bepaald product nog beschikbaar zijn.

Waar staat REST voor?

REST staat voor Representational State Transfer. De term werd geïntroduceerd door computerwetenschapper Roy Fielding in zijn proefschrift uit 2000.

REST beschrijft een architectuurstijl voor systemen die via een netwerk met elkaar communiceren. Een belangrijk uitgangspunt is dat een client verzoeken naar resources kan sturen via een uniforme interface.

Voor ondernemers is vooral belangrijk dat REST een veelgebruikte manier is om API’s voor webapplicaties op te bouwen. Je hoeft de technische architectuur niet volledig te begrijpen om te weten waarvoor een REST API wordt gebruikt.

Hoe werkt een REST API?

Bij een REST API heb je meestal een client en een server. De client kan bijvoorbeeld een webshop zijn, terwijl de server het systeem is waarin de benodigde gegevens staan.

De client stuurt een HTTP-request naar een endpoint van de API. De server verwerkt het verzoek en stuurt een response terug met de gevraagde gegevens of informatie over het resultaat.

Een eenvoudig proces ziet er zo uit:

  1. De applicatie heeft bepaalde gegevens nodig.
  2. De applicatie stuurt een request naar een endpoint.
  3. De server ontvangt en verwerkt het request.
  4. De server maakt een response.
  5. De applicatie ontvangt en verwerkt de gegevens.

Dit kan binnen een fractie van een seconde gebeuren. Voor de gebruiker lijkt het daardoor alsof alle informatie rechtstreeks uit dezelfde applicatie komt.

Wat is een endpoint bij een REST API?

Een endpoint is een specifiek adres binnen een API waarop een applicatie een verzoek kan uitvoeren. Verschillende endpoints kunnen toegang geven tot verschillende soorten gegevens of functies.

Een webshop-API kan bijvoorbeeld aparte endpoints hebben voor producten, klanten en bestellingen. Daardoor kan een applicatie heel gericht aangeven welke informatie nodig is.

Fictieve endpoints kunnen bijvoorbeeld zo zijn opgebouwd:

EndpointFunctie
/productenProducten opvragen
/producten/123Specifiek product opvragen
/bestellingenBestellingen bekijken of toevoegen
/klantenKlantgegevens verwerken
/voorraadVoorraadgegevens opvragen

Hoe endpoints precies zijn opgebouwd, wordt bepaald door de aanbieder van de API. Ontwikkelaars kunnen dit terugvinden in de API-documentatie.

GET, POST, PUT en DELETE

Een REST API gebruikt vaak HTTP-methodes om duidelijk te maken wat een applicatie wil doen. Bekende voorbeelden zijn GET, POST, PUT en DELETE.

GET wordt normaal gebruikt om informatie op te vragen. POST wordt vaak gebruikt om nieuwe informatie naar een systeem te sturen.

MethodeVeelgebruikte functieVoorbeeld
GETGegevens ophalenProduct bekijken
POSTGegevens toevoegenBestelling aanmaken
PUTGegevens aanpassenProduct wijzigen
DELETEGegevens verwijderenItem verwijderen

Welke methodes beschikbaar zijn, verschilt per API. De API-documentatie geeft aan welke requests zijn toegestaan en welke informatie daarbij moet worden meegestuurd.

Voorbeeld van een REST API

Stel dat een webshop de actuele voorraad van product 123 wil weten. De webshop kan daarvoor een GET-request sturen naar een endpoint zoals /producten/123.

De server ontvangt het verzoek en zoekt de informatie over dit product op. Vervolgens stuurt de REST API de gegevens terug naar de webshop.

Een sterk vereenvoudigde response kan er bijvoorbeeld zo uitzien:

{
  "id": 123,
  "product": "Bureaustoel",
  "prijs": 129.00,
  "voorraad": 11
}

De webshop kan deze informatie vervolgens gebruiken om de productpagina te vullen. De bezoeker ziet bijvoorbeeld dat de bureaustoel €129 kost en dat er nog 11 exemplaren beschikbaar zijn.

Wat is JSON?

REST API’s gebruiken vaak JSON om gegevens uit te wisselen. JSON staat voor JavaScript Object Notation en is een gestructureerde manier om informatie vast te leggen.

In het vorige voorbeeld worden de productnaam, prijs en voorraad ieder aan een bepaalde waarde gekoppeld. Software kan deze structuur lezen en de juiste informatie vervolgens op de juiste plaats gebruiken.

JSON is niet verplicht voor iedere REST API, maar wordt tegenwoordig zeer veel gebruikt. Je zult het daarom vaak tegenkomen wanneer je API-documentatie bekijkt.

Hoe ziet een REST API-request eruit?

Een request bestaat uit meerdere onderdelen. Naast het endpoint en de HTTP-methode kan bijvoorbeeld informatie over authenticatie of het gewenste gegevensformaat worden meegestuurd.

Bij het opvragen van een product kan een sterk vereenvoudigd request bijvoorbeeld neerkomen op GET /producten/123. De API weet dan dat de applicatie informatie over product 123 wil ontvangen.

Voor andere acties is vaak meer informatie nodig. Bij het aanmaken van een bestelling moet de applicatie bijvoorbeeld ook doorgeven welke producten zijn besteld en welke gegevens daarbij horen.

Wat is het verschil tussen API en REST API?

Een API is de algemene term voor een interface waarmee software met andere software kan communiceren. Een REST API is een specifieke manier om zo’n API op te bouwen.

Iedere REST API is dus een API, maar niet iedere API is een REST API. Er bestaan ook andere technieken en architecturen, zoals SOAP en GraphQL.

APIREST API
Algemene termSpecifieke architectuurstijl
Verschillende technieken mogelijkGebruikt REST-principes
Kan verschillende protocollen gebruikenVaak gebaseerd op HTTP
Dataformaat verschiltVaak JSON

Wil je eerst de basis begrijpen? Lees dan onze uitleg over wat een API is.

REST API en API koppeling

Een REST API kan worden gebruikt om een API koppeling tussen verschillende systemen te bouwen. De API geeft dan aan welke gegevens en functies beschikbaar zijn, waarna de koppeling daar gebruik van maakt.

Een webshop kan bijvoorbeeld via een REST API worden verbonden met voorraadsoftware. De webshop kan vervolgens automatisch producten opvragen of nieuwe bestellingen naar het andere systeem sturen.

In ons artikel over wat een API koppeling is leggen we uitgebreider uit hoe zo’n verbinding tussen twee softwaresystemen werkt.

REST API versus SOAP

SOAP is een andere manier waarop systemen gegevens met elkaar kunnen uitwisselen. Het werkt volgens een strikter protocol en maakt doorgaans gebruik van XML voor de berichten.

REST is een architectuurstijl en geeft ontwikkelaars op bepaalde punten meer vrijheid. REST API’s worden veel gebruikt voor web- en mobiele toepassingen vanwege hun relatief eenvoudige aansluiting op HTTP.

Welke techniek beter is, hangt af van de toepassing en technische eisen. Het is daarom te simpel om te zeggen dat REST altijd beter is dan SOAP.

REST API versus GraphQL

GraphQL is een andere manier om gegevens via een API beschikbaar te maken. Een belangrijk verschil is dat een client bij GraphQL specifieker kan aangeven welke gegevens hij wil ontvangen.

Bij REST zijn verschillende resources vaak via verschillende endpoints beschikbaar. Bij GraphQL worden verzoeken anders opgebouwd en kan een client in één query precies aangeven welke velden nodig zijn.

Beide oplossingen worden in moderne software gebruikt. Welke aanpak geschikt is, hangt onder andere af van de structuur van de gegevens en de applicatie die ermee moet werken.

Hoe wordt een REST API beveiligd?

Een openbare API betekent niet automatisch dat iedereen onbeperkt toegang krijgt. API-aanbieders kunnen verschillende vormen van authenticatie en autorisatie gebruiken.

Een eenvoudige mogelijkheid is een API key, maar er bestaan ook andere methodes zoals tokens en OAuth. Welke beveiliging wordt gebruikt, hangt af van de API en de gevoeligheid van de beschikbare functies en gegevens.

Geheime sleutels en tokens horen niet openbaar in bijvoorbeeld broncode of een openbare repository te staan. Goede toegangsrechten zijn eveneens belangrijk, zodat een applicatie alleen kan uitvoeren wat daadwerkelijk nodig is.

Wat zijn de voordelen van een REST API?

Een belangrijke reden voor de populariteit van REST API’s is dat ze goed aansluiten op bestaande webtechnologie. Daardoor kunnen ontwikkelaars verschillende applicaties relatief gestructureerd met elkaar laten communiceren.

REST API’s kunnen bovendien worden gebruikt door verschillende soorten clients. Een website, mobiele app en intern softwaresysteem kunnen bijvoorbeeld allemaal dezelfde API gebruiken om informatie uit een centraal systeem op te halen.

Andere voordelen kunnen zijn:

  • verschillende applicaties met elkaar verbinden;
  • gegevens automatisch uitwisselen;
  • bestaande HTTP-technieken gebruiken;
  • functies beschikbaar maken voor andere software;
  • front-end en back-end van elkaar scheiden;
  • processen automatiseren.

De daadwerkelijke voordelen hangen altijd af van hoe een API is gebouwd. Een slecht ontworpen REST API kan alsnog moeilijk te gebruiken of onderhouden zijn.

Hoe weet je of software een REST API heeft?

Kijk hiervoor naar de technische documentatie van de softwareleverancier. Zoek bijvoorbeeld naar termen als API documentation, REST API, developers, integrations of developer portal.

In deze documentatie vind je normaal de beschikbare endpoints, HTTP-methodes en voorwaarden voor toegang. Ook staat er vaak hoe authenticatie werkt en welke gegevens een request of response bevat.

Sommige leveranciers bieden hun REST API alleen aan binnen bepaalde abonnementen. Controleer daarom naast de technische documentatie ook de voorwaarden en eventuele gebruikslimieten.

REST API’s verbinden moderne applicaties

Een REST API zorgt ervoor dat applicaties via vaste afspraken gegevens en functies kunnen uitwisselen. Requests worden naar endpoints gestuurd, waarna de server de aanvraag verwerkt en een response terugstuurt.

Vooral bij websites, apps en zakelijke software kom je deze techniek veel tegen. Begrijp je eenmaal hoe endpoints, HTTP-methodes en responses samenwerken, dan wordt ook duidelijker hoe veel moderne software achter de schermen met elkaar verbonden is.



Laat een reactie achter

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}