Junior
Wat is een REST API?
sobes.tech AI
Antwoord van AI
REST API is een architecturale stijl voor het bouwen van gedistribueerde systemen. De belangrijkste principes van REST:
- Stateloosheid: Elke aanvraag van de client aan de server moet alle benodigde informatie bevatten om te verwerken. De server bewaart geen toestand van de client tussen aanvragen.
- Client-Server: Duidelijke scheiding van verantwoordelijkheden tussen client en server. De client stuurt aanvragen, de server verwerkt ze.
- Cacheerbaarheid: De server moet aangeven of antwoorden door de client of tussenliggende partijen kunnen worden gecachet.
- Gelaagde systeem: De client hoeft niet noodzakelijk direct met de eindserver te communiceren; dit kan via tussenlagen (proxy, load balancers).
- Uniforme interface: Eén en gestandaardiseerde manier van interactie tussen client en server. Dit principe omvat:
- Identificatie van bronnen: Bronnen (gegevens) worden geïdentificeerd via URL's.
- Manipulatie van bronnen via representaties: De client interageert met bronnen door hun representaties (bijvoorbeeld JSON, XML) te verkrijgen en nieuwe representaties te sturen voor wijziging.
- Zelfbeschrijvende berichten: Elk bericht bevat voldoende informatie om te begrijpen hoe het te verwerken.
- HATEOAS (Hypertext As The Engine Of Application State): Bronnen moeten links (hyperlinks) bevatten naar gerelateerde bronnen en beschikbare acties.
REST API gebruikt meestal standaard HTTP-methoden voor het uitvoeren van operaties op bronnen:
- GET: Het verkrijgen van een bron of collectie bronnen.
- POST: Het creëren van een nieuwe bron.
- PUT: Volledige update van een bestaande bron.
- PATCH: Gedeeltelijke update van een bestaande bron.
- DELETE: Het verwijderen van een bron.
Voorbeeld van een JSON-representatie van een bron:
{
"id": 1, // Identificatie
"name": "Resource Name", // Naam van de bron
"description": "Detailed description of the resource." // Beschrijving van de bron
}
Testen van REST API omvat het controleren van:
- Functionaliteit (correctheid van de antwoorden op verzoeken).
- Foutafhandeling.
- Prestaties.
- Beveiliging.
- Conformiteit aan documentatie.