Definitie: Een REST API is een programmeerinterface die werkt volgens de architectuurstijl REST (Representational State Transfer), waarbij systemen via standaard HTTP-verzoeken gegevens opvragen en aanpassen. Elke gegevenssoort heeft een eigen adres, en met methoden als GET, POST, PUT en DELETE bepaal je wat er met die gegevens gebeurt.

In het kort

  • REST is in 2000 beschreven door Roy Fielding, die eerder had meegewerkt aan de standaardisatie van HTTP.
  • Een RESTful API volgt vaste principes, zoals scheiding tussen client en server en verzoeken zonder opgeslagen sessie (stateless).
  • Gegevens worden meestal uitgewisseld in JSON, soms in XML.
  • REST is de meest gebruikte stijl voor koppelingen tussen webapplicaties, mobiele apps en online diensten.

Wat is een REST API?

Een API is een afgesproken manier waarop twee systemen met elkaar praten. Een REST API doet dat via het web, op dezelfde manier waarop je browser een pagina opvraagt. Alleen krijg je geen opgemaakte pagina terug, maar gegevens die een ander programma kan lezen.

Tibco vergelijkt het met een webpagina: een resource wordt via een URL aangeboden, en een programma haalt er gegevens mee op zoals een browser een pagina ophaalt. Wil een boekhoudpakket weten welke facturen er openstaan, dan vraagt het bijvoorbeeld het adres /facturen?status=open op bij de API van een ander systeem en krijgt een lijst terug.

De termen REST API en RESTful API worden door elkaar gebruikt. Strikt genomen is een RESTful API een API die de REST-principes volgt.

Waar komt REST vandaan?

Volgens OVHcloud definieerde Roy Fielding REST in 2000, in zijn proefschrift, nadat hij jarenlang had gewerkt aan de standaardisatie van HTTP en URI. Hij beschreef daarmee de architectuurstijl van het web zelf. Sinds 2015 ontwikkelt het OpenAPI Initiative specificaties om REST API’s op een vaste manier te beschrijven.

Welke principes heeft een RESTful API?

OVHcloud noemt zes ontwerpregels:

  1. Uniforme interface. Verzoeken volgen vaste afspraken over adressen en methoden.
  2. Scheiding tussen client en server. Beide kunnen los van elkaar worden aangepast.
  3. Stateless. Elk verzoek bevat alle informatie die nodig is; de server onthoudt niets tussen verzoeken.
  4. Cachebaar. Antwoorden kunnen tijdelijk worden bewaard, wat netwerkverkeer bespaart.
  5. Gelaagd systeem. Tussenliggende systemen, zoals een load balancer, zijn toegestaan.
  6. Code op aanvraag. Optioneel kan de server code meesturen die de client uitvoert.

Hoe werkt een REST API?

Een verzoek aan een REST API bestaat uit een adres (endpoint), een methode, eventueel gegevens en meestal een vorm van authenticatie.

Methode Betekenis Voorbeeld
GET Gegevens ophalen GET /klanten/42 haalt klant 42 op
POST Iets nieuws aanmaken POST /klanten maakt een klant aan
PUT Een record volledig vervangen PUT /klanten/42 werkt alle gegevens bij
PATCH Een deel aanpassen PATCH /klanten/42 wijzigt alleen het e-mailadres
DELETE Verwijderen DELETE /klanten/42 verwijdert de klant

Volgens AppMaster verwijst een URL in een RESTful API naar een resource, zoals klanten of orders, en niet naar een actie. De methode bepaalt de actie.

De server antwoordt met gegevens en een statuscode. Bekende codes zijn 200 (gelukt), 201 (aangemaakt), 400 (fout verzoek), 401 (niet ingelogd), 403 (geen toegang), 404 (niet gevonden) en 500 (fout op de server). Aan die code ziet het andere systeem direct of het verzoek is gelukt.

REST, SOAP en GraphQL

REST SOAP GraphQL
Vorm Architectuurstijl op HTTP Protocol met strikte regels Querytaal voor API’s
Dataformaat Meestal JSON XML JSON
Gewicht Licht Zwaarder, met extra standaarden Licht
Endpoints Vaste adressen per resource Eén endpoint met berichten Eén endpoint, client bepaalt welke velden
Gebruik Web- en mobiele koppelingen Oudere bedrijfs- en overheidssystemen Complexe interfaces met veel gegevenssoorten

Volgens DEV Community is SOAP complexer en vraagt het extra protocollen zoals WS-Security, terwijl GraphQL flexibele queries toestaat waarmee je alleen de benodigde gegevens ophaalt.

Beveiliging van een REST API

REST schrijft zelf geen beveiliging voor. In de praktijk gebruik je:

  • HTTPS voor versleuteld verkeer;
  • API-sleutels voor eenvoudige toegang tussen systemen;
  • OAuth 2.0 als een gebruiker een applicatie toegang geeft tot zijn account bij een andere dienst;
  • Tokens zoals JWT, die met elk verzoek worden meegestuurd;
  • Rechten per gebruiker of sleutel, zodat niet iedereen alles kan opvragen;
  • Limieten op het aantal verzoeken tegen misbruik.

Waar let je op bij een koppeling via een REST API?

  • Documentatie. Is duidelijk welke endpoints er zijn, welke velden ze teruggeven en welke limieten gelden?
  • Versies. Wat gebeurt er met jouw koppeling als de leverancier een nieuwe versie uitbrengt?
  • Foutafhandeling. Wat doet de koppeling als de andere kant tijdelijk niet bereikbaar is?
  • Gegevensformaat. Tibco wijst erop dat REST de manier van transport vastlegt, maar niet hoe de gegevens eruitzien. Velden en formaten verschillen per API.
  • Logging. Leg vast wat er is verstuurd en ontvangen, zodat je problemen kunt terugvinden.

Wat betekent dit voor jouw project?

Bij een nieuw idee onderzoek ik eerst of een bestaand pakket, een koppeling of maatwerk het beste past. Heeft een systeem dat je al gebruikt een goede REST API, dan is een koppeling vaak de snelste route. Ik kijk daarbij naar het proces: wat komt binnen, wie moet ermee verder en welke informatie heeft die persoon nodig? Een koppeling is pas nuttig als de juiste gegevens op het juiste moment bij de juiste persoon aankomen.

Vraag? Wil je twee systemen laten samenwerken, of gegevens uit een pakket gebruiken in een eigen tool? Stuur me welke systemen het zijn en welke informatie heen en weer moet. Dan bepalen we samen de logische eerste stap.

Veelgestelde vragen over REST API’s

Wat is een REST API?

Een REST API is een programmeerinterface die werkt volgens de architectuurstijl REST. Systemen wisselen via standaard HTTP-verzoeken gegevens uit, meestal in JSON, met methoden als GET, POST, PUT en DELETE.

Wat is het verschil tussen een REST API en een RESTful API?

In de praktijk worden de termen door elkaar gebruikt. Strikt genomen is een RESTful API een API die de principes van REST volgt, zoals stateless verzoeken, een uniforme interface en scheiding tussen client en server.

Is een REST API veilig?

REST schrijft zelf geen beveiliging voor. Een REST API wordt veilig door HTTPS, authenticatie met API-sleutels, OAuth 2.0 of tokens, goed ingestelde rechten en limieten op het aantal verzoeken.

Verwante termen

API-koppeling · Webapplicatie · Single Page Application (SPA) · Workflow-automatisering · MCP · JavaScript

← Terug naar de kennisbank