REST utilise les méthodes HTTP standard comme verbes agissant sur les ressources. La correspondance courante avec CRUD (Create, Read, Update, Delete) est :
REST utilise les méthodes HTTP standard comme verbes agissant sur les ressources. La correspondance courante avec CRUD (Create, Read, Update, Delete) est :
| CRUD | Méthode | Usage typique |
|---|
| Create | POST | Ajouter une nouvelle ressource à une collection |
| Read | GET | Récupérer une ressource ou une liste |
| Update (complet) | PUT | Remplacer entièrement une ressource |
| Update (partiel) | PATCH | Modifier certains champs |
| Delete | DELETE | Supprimer une ressource |
POST /users HTTP/1.1
Content-Type: application/json
{ "name": "Ann", "email": "[email protected]" }
HTTP/1.1 201 Created
Location: /users/42
{ "id": 42, "name": "Ann", "email": "[email protected]" }
PUT /users/42 envoie la représentation entière et la remplace ; PATCH /users/42 n'envoie que les champs à modifier (p. ex. { "email": "[email protected]" }).
Ce sont deux propriétés différentes :
GET, HEAD, OPTIONS sont safe.GET, PUT, DELETE, HEAD sont idempotents.Method Safe? Idempotent?
GET oui oui
HEAD oui oui
PUT non oui (remplacer par le même body deux fois = même résultat)
DELETE non oui (supprimer deux fois = toujours supprimé)
PATCH non non* (dépend du patch ; non garanti)
POST non non (poster deux fois crée généralement deux ressources)
Les recruteurs posent cette question pour voir si vous comprenez la sémantique HTTP assez bien pour construire des API fiables. La distinction safe/idempotent n'est pas académique : elle régit directement ce que les clients, proxies et CDN sont autorisés à faire. Les méthodes safe peuvent être mises en cache et préchargées librement ; les méthodes idempotentes peuvent être réessayées automatiquement après un timeout réseau sans risque de dupliquer des effets de bord — c'est pourquoi un client peut réessayer un PUT ou un DELETE en toute sécurité mais doit être prudent en réessayant un POST (il pourrait créer deux orders). L'erreur classique est d'utiliser GET pour déclencher des effets de bord (p. ex. GET /users/42/delete), ce qui casse le caching et laisse les crawlers muter accidentellement des données. Choisir la bonne méthode — et respecter son contrat de safety et d'idempotence — est ce qui rend une API prévisible et sûre pour construire de l'outillage autour.
Une bibliothèque de questions d'entretien IT avec des réponses détaillées — du Junior au Senior.
Faire un don