Back-end · 5 mondes · 15 étapes
API avec Node
Construire une API qui répond juste, valide ce qu'elle reçoit et se protège.
Progression
0 %
0/15 étapes terminées
Intermédiaire · 9 min de lecture
REST et CRUD
Des ressources, des verbes, des statuts
1Définition
Une API REST organise ses adresses autour de ressources (/quetes, /quetes/1) et exprime l'action par le verbe HTTP. Les quatre opérations du CRUD — créer, lire, modifier, supprimer — correspondent à POST, GET, PATCH (ou PUT) et DELETE, chacune avec son statut.
2Principes fondamentaux
01
Des noms, pas des verbes, dans l'adresse
POST /quetes plutôt que POST /creerQuete : le verbe est déjà dans la méthode.
02
Un statut par opération
200 lecture, 201 création, 200 modification, 204 suppression, 404 absent, 405 méthode refusée.
03
PATCH n'est pas PUT
PATCH modifie une partie, PUT remplace tout : un champ omis dans un PUT disparaît.
04
Un routeur pour grandir
Une table « méthode + motif → fonction » garde l'API lisible quand elle passe de 3 à 30 routes.
3Exemples pratiques
Les adresses d'une ressource
1GET /quetes → liste 2002POST /quetes → création 2013GET /quetes/1 → lecture 200 | 4044PATCH /quetes/1 → modification 200 | 4045DELETE /quetes/1 → suppression 204 | 404Deux adresses, cinq opérations : c'est toute l'API d'une ressource.
Modifier sans muter
1const modifiee = { ...quete, faite: true };2quetes.set(id, modifiee);3return Response.json(modifiee);Un nouvel objet plutôt que l'ancien modifié : aucune autre partie du code ne voit la donnée changer sous ses pieds.
4Erreurs courantes
Un verbe dans l'adresse
À éviter
POST /supprimerQuete?id=1À faire
DELETE /quetes/1Pourquoi : L'API devient imprévisible : chaque action a sa propre adresse inventée.
Un corps dans un 204
À éviter
return Response.json({ ok: true }, { status: 204 });À faire
return new Response(null, { status: 204 });Pourquoi : 204 signifie « pas de contenu » : un corps y est une incohérence que certains clients rejettent.
PUT pour une modification partielle
À éviter
PUT /quetes/1 { "faite": true }À faire
PATCH /quetes/1 { "faite": true }Pourquoi : Avec PUT, le titre, omis, serait effacé.
5Subtilités à connaître
- ◆Une opération est idempotente si la répéter a le même effet : GET, PUT et DELETE le sont, POST non — d'où la prudence avec les doubles clics sur « Payer ».
- ◆Les API renvoient souvent l'en-tête
Location: /quetes/1avec un 201, pour indiquer où trouver la ressource créée. - ◆GraphQL est une alternative à REST : une seule adresse, et le client décrit exactement les champs qu'il veut.
6Vérifie ta compréhension
Question 1/3
Score 0
Suppression réussie :
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.