Sobes.tech
Junior

Welke API's kunnen als RESTful worden beschouwd?

sobes.tech AI

Antwoord van AI

RESTful API's voldoen aan de principes van de architectuurstijl REST:

  • Client-server: Scheiding van verantwoordelijkheden tussen de client, die resources aanvraagt, en de server, die ze levert.
  • Stateless (Zonder toestand): Elke aanvraag van de client aan de server moet alle benodigde informatie bevatten om te verwerken. De server bewaart geen sessiestaat van de client.
  • Cacheable (Cacheerbaar): De server moet expliciet of impliciet aangeven of antwoorden door de client of tussenliggende systemen kunnen worden gecachet.
  • Gelaagd systeem: De client kan niet onderscheid maken tussen een directe oproep naar de server en een via tussenlagen (proxy, load balancers, etc.).
  • Code on Demand (optioneel): De server kan tijdelijk de functionaliteit van de client uitbreiden door uitvoerbare code (bijvoorbeeld JavaScript) over te dragen.
  • Uniforme interface: Het belangrijkste principe van RESTful API's. Bestaat uit vier restricties:
    • Identificatie van resources: Resources worden geïdentificeerd door URL's.
    • Manipulatie van resources via representaties: De client interageert met resources door hun representaties te verkrijgen (bijvoorbeeld in JSON, XML).
    • Zelfbeschrijvende berichten: Elk bericht bevat voldoende informatie om te verwerken, inclusief metadata over hoe het bericht en de resource te verwerken.
    • HATEOAS (Hypermedia as the Engine of Application State): De server moet hyperlinks bevatten in zijn antwoorden, zodat de client beschikbare acties kan ontdekken en tussen toestanden van de applicatie kan navigeren. Dit is het minst vaak nageleefde principe.

RESTful API's gebruiken standaard HTTP-methoden (GET, POST, PUT, DELETE, PATCH) voor operaties op resources, geïdentificeerd door URI's.

Bijvoorbeeld, een GET-verzoek naar /api/users/123 krijgt de representatie van de gebruiker met ID 123.