Partie 4
Les verbes HTTP et le CRUD
Les requêtes HTTP reposent sur des verbes (ou méthodes) qui précisent l'action à réaliser par le serveur. Le CRUD est la norme appliquée à une base de données : Create, Read, Update, Delete. Le cours précise qu'on l'applique à chaque route de l'API, avec en plus Search (CRUDS).
| Verbe | Rôle | Idempotent ? | Sécurisé (ne change rien) ? |
|---|---|---|---|
| GET | demander une ressource ; ne modifie pas l'état du serveur | oui | oui |
| POST | envoyer des données, souvent pour créer ; modifie l'état | non | non |
| PUT / PATCH | envoyer une ressource : remplace ou crée la ressource sous l'URI indiquée ; mise à jour | oui (PUT) | non |
| DELETE | supprimer une ressource | oui | non |
| HEAD | comme GET mais renvoie seulement les en-têtes, sans corps | oui | oui |
| OPTIONS | demander quelles méthodes sont supportées ; utilisé pour CORS | oui | (non précisé) |
Autres verbes moins courants : TRACE (suivre le chemin d'une requête, utile au débogage) et CONNECT (établir un tunnel, plus utilisé pour les proxys, notamment pour HTTPS).
Vérifie que tu as compris
Idempotence en pratique
Une méthode est idempotente si la répéter donne le même effet qu'une seule fois. DELETE : après plusieurs requêtes, la ressource est supprimée (ou déjà supprimée), le résultat reste le même. Les méthodes idempotentes (GET, PUT, DELETE) sont donc à privilégier quand on veut qu'un appel répété n'ait pas d'effet supplémentaire indésirable.
GET /films/42 -> lire (Read) POST /films -> créer (Create), corps JSON PUT /films/42 -> remplacer / mettre à jour (Update) DELETE /films/42 -> supprimer (Delete)
(chemins ajoutés comme exemple d'association verbe / CRUD)
Bonnes pratiques du cours
- Utiliser les verbes correctement : ne pas utiliser POST pour récupérer des données, c'est le rôle de GET.
- Sécuriser les méthodes sensibles : POST, PUT, DELETE et PATCH doivent être protégées par authentification et autorisation, car elles modifient les ressources.
Vérifie que tu as compris