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

Exemple
1GET    /quetes        → liste          2002POST   /quetes        → création       2013GET    /quetes/1      → lecture        200 | 4044PATCH  /quetes/1      → modification   200 | 4045DELETE /quetes/1      → suppression    204 | 404

Deux adresses, cinq opérations : c'est toute l'API d'une ressource.

Modifier sans muter

Exemple
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/1

Pourquoi : 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/1 avec 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.