Snelle referentie

RESTful API spiekbriefje

Snelle referentiegids voor RESTful API's: HTTP-methodesemantiek, statuscodeconventies, JSON-foutstructuren, headers en idempotentie.

· Gepubliceerd

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 bij DELETE).

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"
      }
    ]
  }
}

Referenties

Verwante onderwerpen