REST (Representational State Transfer) is een architectuurstijl voor het ontwerpen van genetwerkte web-API-services via HTTP.
HTTP-werkwoorden & Semantiek
| Methode | Doelactie | Veilig | Idempotent |
|---|---|---|---|
GET |
Bronweergave ophalen | Ja | Ja |
POST |
Nieuwe onderliggende bron aanmaken | Nee | Nee |
PUT |
Volledige bronweergave vervangen | Nee | Ja |
PATCH |
Broneigenschappen gedeeltelijk bijwerken | Nee | Nee |
DELETE |
Bron verwijderen | Nee | Ja |
HEAD |
Headers ophalen zonder antwoordtekst | Ja | Ja |
OPTIONS |
Ondersteunde HTTP-methoden voor eindpunt opvragen | Ja | Ja |
Veelvoorkomende HTTP-statuscodes
Succes (2xx)
200 OK: Aanvraag geslaagd (body bevat weergave).201 Created: Bron succesvol aangemaakt (Location-header geeft URI aan).202 Accepted: Aanvraag geaccepteerd voor asynchrone verwerking.204 No Content: Actie geslaagd, geen antwoordtekst geretourneerd (gebruikelijk bijDELETE).
Clientfouten (4xx)
400 Bad Request: Ongeldige syntaxis, foutieve parameters of validatiefout.401 Unauthorized: Authenticatie ontbreekt of is ongeldig.403 Forbidden: Geauthenticeerde gebruiker mist rechten voor deze bron.404 Not Found: Bron-URI bestaat niet.409 Conflict: Aanvraag conflicteert met huidige bronstatus (bijv. dubbele unieke sleutel).422 Unprocessable Entity: Geldig opgemaakte aanvraag faalde bij semantische domeinvalidatie.429 Too Many Requests: Snelheidslimiet (Rate Limit) overschreden.
Serverfouten (5xx)
500 Internal Server Error: Algemene onafgehandelde serverfout.502 Bad Gateway: Upstream-server gaf een ongeldig antwoord terug.503 Service Unavailable: Server overbelast of in onderhoud.
Standaard JSON-foutenvelop
{
"error": {
"code": "VALIDATION_ERROR",
"message": "The email address provided is already registered.",
"details": [
{
"field": "email",
"issue": "unique_constraint_violated"
}
]
}
}