Een REST API is de meest gebruikte manier waarop websystemen data delen. Hij bouwt voort op het algemene idee van een API en voegt een heldere set regels toe: elk stukje data is een resource met een eigen webadres, en je werkt ermee via de standaardwerkwoorden van het web, vooral lezen, aanmaken, bijwerken en verwijderen.
Een mooie manier om het te zien is een bibliotheekcatalogus. Elk boek heeft een vaste plek op de plank (zijn adres), en je kunt er een opzoeken, een nieuwe toevoegen, de gegevens wijzigen of hem verwijderen met diezelfde simpele set acties. Een REST API werkt net zo: vraag /klanten/42 en je krijgt klant 42 terug, meestal als JSON, een licht tekstformaat dat bijna elk systeem kan lezen. Elk van die adressen heet een endpoint.
Omdat de regels bekend zijn en op gewoon HTTP draaien, zijn REST API’s makkelijk te koppelen vanuit zo goed als elke taal of tool. Daarom bieden zoveel platformen er een, van betaaldiensten tot CRM’s.
Een deel van die voorspelbaarheid komt van de statuscode die bij elk antwoord terugkomt. Een 200 betekent gelukt, 404 betekent dat de resource niet bestaat, en 401 betekent dat je er niet in mag. Zo ziet een developer die jouw API leest vaak al wat er misging, zonder extra documentatie. De keerzijde is de klassieke beperking van REST: één endpoint geeft één vaste vorm terug, dus een druk scherm laden kan drie of vier losse aanroepen kosten. Dat gat wilde GraphQL dichten, al blijft gewone REST voor de meeste projecten de simpelere keuze.
Bij TopDevs ontwerpen we REST API’s die voorspelbaar en goed gedocumenteerd zijn, zodat je systemen en elke derde partij erop kunnen aansluiten zonder giswerk.