
Design d'API REST
REST principles, versioning, pagination, filtering, HATEOAS, status codes, OpenAPI/Swagger
1Quel est le principe fondamental de REST ?
Quel est le principe fondamental de REST ?
Réponse
REST repose sur le principe de représentation de ressources accessibles via des URIs uniques. Chaque ressource (utilisateur, produit, commande) possède une URI et peut être manipulée via les verbes HTTP standards (GET, POST, PUT, DELETE). Ce paradigme orienté ressources permet une architecture scalable et découplée où le serveur ne stocke pas d'état de session client.
2Quelle méthode HTTP utiliser pour une opération idempotente de mise à jour complète d'une ressource ?
Quelle méthode HTTP utiliser pour une opération idempotente de mise à jour complète d'une ressource ?
Réponse
PUT est idempotent et remplace intégralement la ressource. Appeler PUT plusieurs fois avec les mêmes données produit le même résultat qu'un seul appel. En revanche, POST n'est pas idempotent (créerait plusieurs ressources), PATCH fait des mises à jour partielles, et DELETE supprime la ressource. L'idempotence de PUT garantit la sécurité des retries en cas d'erreur réseau.
3Quel code HTTP retourner après la création réussie d'une nouvelle ressource ?
Quel code HTTP retourner après la création réussie d'une nouvelle ressource ?
Réponse
Le code 201 Created indique qu'une ressource a été créée avec succès. Il est accompagné d'un header Location pointant vers l'URI de la nouvelle ressource. Le code 200 OK est trop générique pour une création, 204 No Content s'utilise quand il n'y a pas de corps de réponse, et 202 Accepted signale un traitement asynchrone non encore terminé.
Quelle différence majeure distingue une API REST d'une API RPC ?
Que signifie le principe de statelessness dans REST ?
+17 questions d'entretien
Autres sujets d'entretien Go
Les bases de Go
Structures de données Go
Interfaces Go
Gestion des erreurs
Goroutines basiques
Channels
Go Modules
Serveur HTTP
Client HTTP
Encodage JSON
database/sql
Package context
Testing
Patterns de concurrence
Primitives de synchronisation
Frameworks web Go
gRPC
Reflection
Gestion mémoire
Optimisation des performances
Generics
Design Patterns Go
Microservices
Sécurité & Authentication
Docker & Containerization
Kubernetes Basics
Go Avancé
Développement CLI
Maîtrise Go pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement