Wat is REST? Uitleg over REST API's met voorbeelden

Home Woordenlijst Wat is REST? Uitleg over REST API's met voorbeelden

REST (Representational State Transfer) is een architectuurstijl voor het ontwerpen van API's bovenop HTTP, het protocol van het web. In een REST API is alles een resource met een eigen URL, zoals /klanten/42 of /orders, en werken clients met die resources via standaard HTTP-methodes. REST werd in 2000 beschreven door Roy Fielding in zijn proefschrift en is sindsdien de meest gebruikte manier waarop webapplicaties, mobiele apps en bedrijfssystemen gegevens uitwisselen.

Hoe werkt een REST API?

  • Resources en URL's: elk object (een klant, een order, een factuur) heeft een uniek adres.
  • HTTP-methodes: GET leest, POST maakt aan, PUT of PATCH wijzigt, en DELETE verwijdert een resource.
  • Representaties: gegevens worden meestal uitgewisseld als JSON, soms als XML.
  • Statuscodes: het antwoord vertelt wat er gebeurde, zoals 200 OK, 201 Created, 404 Not Found of 429 Too Many Requests.
  • Stateless: elk verzoek bevat alles wat de server nodig heeft, inclusief authenticatie. De server hoeft geen sessies te onthouden en kan daardoor eenvoudig schalen.

Een voorbeeld

Een webshop die de status van een order wil weten, stuurt GET /orders/1001 naar de REST API van het ordersysteem en krijgt een JSON-antwoord met de orderregels, de status en de track-and-tracecode. Om een nieuwe order aan te maken, stuurt de webshop POST /orders met de ordergegevens, en de API antwoordt met 201 Created en de URL van de nieuwe order.

Wat maakt een REST API goed?

Een goede REST API is voorspelbaar: consistente namen voor resources, correct gebruik van methodes en statuscodes, en duidelijke foutmeldingen. Daarnaast zijn nodig: authenticatie (API-sleutels of OAuth 2.0), paginering voor grote lijsten, versiebeheer zodat bestaande koppelingen niet breken als de API verandert, rate limiting om de server te beschermen, en documentatie, meestal als OpenAPI-specificatie (Swagger) waaruit clientcode en testtools kunnen worden gegenereerd. Verzoeken die opnieuw kunnen worden verstuurd, zoals betalingen, moeten idempotent zijn, zodat een herhaling nooit een dubbele boeking oplevert.

REST, SOAP of GraphQL?

SOAP is een ouder, op XML gebaseerd protocol met strikte contracten; het wordt nog gebruikt door banken, overheidssystemen en boekhoudsoftware. REST is eenvoudiger en lichter, en daarom gebruiken de meeste moderne API's het. Met GraphQL bepaalt de client precies welke velden hij in één verzoek nodig heeft. Dat helpt bij complexe front-ends, maar brengt aan de serverkant eigen complexiteit mee. Voor realtime communicatie in twee richtingen past een WebSocket beter.

Een REST API laten bouwen of koppelen? Zie onze REST API ontwikkeling, API ontwikkeling op maat en API-integraties.

Veelgestelde vragen over REST

Wat is het verschil tussen REST en RESTful?

REST is de architectuurstijl; een API die de principes volgt, heet RESTful. In de praktijk worden beide termen gebruikt voor elke HTTP-API die rond resources en HTTP-methodes is opgebouwd.

Is REST een protocol?

Nee. REST is een verzameling architectuurprincipes, geen protocol of standaard. REST API's gebruiken vrijwel altijd HTTP als protocol.

Gebruikt een REST API altijd JSON?

Nee, maar JSON is tegenwoordig verreweg het meest gebruikte formaat. REST schrijft zelf geen formaat voor; XML, CSV of andere formaten kunnen ook.

Is REST veilig?

Een REST API is zo veilig als de uitvoering: HTTPS voor al het verkeer, goede authenticatie en autorisatie per resource, invoercontrole en rate limiting. REST zelf maakt een API niet veiliger of onveiliger.