
REST API-ontwerp
REST-principes, versioning, paginatie, filtering, HATEOAS, statuscodes, OpenAPI/Swagger
1Wat is het fundamentele principe van REST?
Wat is het fundamentele principe van REST?
Antwoord
REST is gebaseerd op het principe van het representeren van resources die toegankelijk zijn via unieke URI's. Elke resource (gebruiker, product, bestelling) heeft een URI en kan worden gemanipuleerd via de standaard HTTP-werkwoorden (GET, POST, PUT, DELETE). Dit resource-georiënteerde paradigma maakt een schaalbare en ontkoppelde architectuur mogelijk waarbij de server geen sessiestatus van de client opslaat.
2Welke HTTP-methode moet worden gebruikt voor een idempotente volledige update van een resource?
Welke HTTP-methode moet worden gebruikt voor een idempotente volledige update van een resource?
Antwoord
PUT is idempotent en vervangt de resource volledig. PUT meerdere keren aanroepen met dezelfde gegevens levert hetzelfde resultaat op als één aanroep. POST is daarentegen niet idempotent (zou meerdere resources aanmaken), PATCH voert gedeeltelijke updates uit en DELETE verwijdert de resource. De idempotentie van PUT garandeert retry-veiligheid bij netwerkfouten.
3Welke HTTP-code moet worden teruggegeven na het succesvol aanmaken van een nieuwe resource?
Welke HTTP-code moet worden teruggegeven na het succesvol aanmaken van een nieuwe resource?
Antwoord
De code 201 Created geeft aan dat een resource succesvol is aangemaakt. Deze gaat vergezeld van een Location-header die naar de URI van de nieuwe resource verwijst. De code 200 OK is te generiek voor een creatie, 204 No Content wordt gebruikt wanneer er geen response body is, en 202 Accepted signaleert een nog niet voltooide asynchrone verwerking.
Welk belangrijk verschil onderscheidt een REST API van een RPC API?
Wat betekent het statelessness-principe in REST?
+17 gespreksvragen
Andere Go-sollicitatieonderwerpen
Go-basis
Go-datastructuren
Go-interfaces
Foutafhandeling
Goroutines-basis
Channels
Go Modules
HTTP-server
HTTP-client
JSON-codering
Database/SQL
context-pakket
Testing
Concurrency-patronen
Synchronisatieprimitieven
Go-webframeworks
gRPC
Reflection
Geheugenbeheer
Prestatie-optimalisatie
Generics
Go Design Patterns
Microservices
Beveiliging en authenticatie
Docker & Containerization
Kubernetes Basics
Geavanceerd Go
CLI-ontwikkeling
Beheers Go voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis