Naar de inhoud

REST

REST beschrijft architectuurregels voor gedistribueerde interfaces. Resources, stateloze verzoeken en links maken deel uit van de aanpak.

Ook bekend alsRepresentational State Transfer
API's en datacontracten

Resources via een uniforme interface benaderen

REST staat voor Representational State Transfer en is een architectuurstijl. Applicaties wisselen representaties van resources uit, bijvoorbeeld de actuele toestand van een project. De voorwaarden omvatten een scheiding tussen client en server, stateloze verzoeken, aangeven of antwoorden in de cache mogen worden opgeslagen en een uniforme interface. Links in representaties leiden naar mogelijke vervolgstappen; een HTTP-adres dat JSON teruggeeft voldoet op zichzelf nog niet aan deze voorwaarden.

In een fictief projectportaal vraagt de applicatie met GET /projects/P-42 een projectrepresentatie op. Deze bevat ook een link naar /projects/P-42/tasks, die toegang moet bieden tot de bijbehorende taken. Beide paden zijn eigen ontwerpvoorbeelden. Het verzoek moet de informatie bevatten die de server nodig heeft om het te begrijpen; de server hoort daarvoor geen eerder gesprek met deze client te hoeven reconstrueren. Projectgegevens mogen nog steeds blijvend worden opgeslagen. Stateloos beschrijft hier de communicatie, niet het ontbreken van een database.

Een integratieteam moet daarom nagaan hoe resources, links, rechten en het hergebruik van antwoorden werkelijk zijn geregeld. Het label REST alleen beantwoordt die vragen niet.

Bronnen