Sobes.tech
Junior — Middle

Kun je de basisprincipes van REST-architectuur uitleggen en hoe ze worden geïmplementeerd bij het ontwikkelen van API's?

sobes.tech AI

Antwoord van AI

REST (Representational State Transfer) is een architecturale stijl voor het maken van webservices, gebaseerd op een reeks principes:

  • Client-server architectuur: de client en de server zijn gescheiden, wat de ontwikkeling en schaalbaarheid vereenvoudigt.
  • Zonder toestand (stateless): elke aanvraag van de client aan de server moet alle benodigde informatie bevatten, de server bewaart geen toestand tussen aanvragen.
  • Caching: antwoorden kunnen worden gecachet om de prestaties te verbeteren.
  • Eenduidige interface: gebruik van standaard HTTP-methoden (GET, POST, PUT, DELETE) voor operaties op resources.
  • Identificatie van resources via URI: elke resource heeft een uniek adres.
  • Meervoudige lagen systeem: de architectuur kan uit meerdere lagen bestaan, zoals proxies, gateways.

Bij het ontwikkelen van een REST API worden deze principes als volgt geïmplementeerd:

  • Resources (bijvoorbeeld gebruikers, producten) worden weergegeven als URL's, bijvoorbeeld /users/123.
  • Er worden HTTP-methoden gebruikt: GET om op te halen, POST om te maken, PUT/PATCH om bij te werken, DELETE om te verwijderen.
  • De server bewaart geen sessies, alle gegevens voor het verwerken van het verzoek worden eraan doorgegeven.
  • Antwoorden kunnen headers bevatten voor caching.
  • Dataformaten zijn meestal JSON of XML.

Voorbeeld van een verzoek om een gebruiker op te halen:

GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json

Antwoord:

{
  "id": 123,
  "name": "Ivan Ivanov"
}