Verbes, codes, en-têtes — antisèche
Toutes les tables de référence du cours en un seul endroit : verbes HTTP, codes de statut, en-têtes courants, niveaux de Richardson et mots-clés OpenAPI.
Verbes HTTP
| Verbe | Sur /users | Sur /users/42 | Sûr | Idempotent |
|---|---|---|---|---|
| GET | Lister | Lire | ✅ | ✅ |
| POST | Créer | (rare) | ❌ | ❌ |
| PUT | (rare) | Remplacer entièrement | ❌ | ✅ |
| PATCH | (rare) | Modifier partiellement | ❌ | ❌ |
| DELETE | (rare) | Supprimer | ❌ | ✅ |
Codes de statut essentiels
| Code | Nom | Sens |
|---|---|---|
200 | OK | Succès générique (GET, PUT, PATCH) |
201 | Created | POST qui a créé une ressource |
204 | No Content | Succès sans corps (souvent DELETE) |
400 | Bad Request | Requête mal formée |
401 | Unauthorized | Non authentifié |
403 | Forbidden | Authentifié, mais non autorisé |
404 | Not Found | Ressource introuvable |
409 | Conflict | Conflit avec l’état actuel |
422 | Unprocessable Entity | Invalide sémantiquement |
429 | Too Many Requests | Limite de débit dépassée |
500 | Internal Server Error | Erreur côté serveur |
En-têtes HTTP courants
| En-tête | Usage |
|---|---|
Authorization: Bearer <jeton> | Authentification (API key, JWT) |
Content-Type: application/json | Format du corps envoyé |
Accept: application/json | Format attendu en réponse |
Location: /users/43 | URI de la ressource créée (avec 201) |
ETag / If-None-Match | Cache conditionnel |
Les 4 niveaux de Richardson
| Niveau | Nom | Ce qui le caractérise |
|---|---|---|
| 0 | Tunnel POX/RPC | Une seule URI, un seul verbe (POST), action dans le corps |
| 1 | Ressources | Une URI par ressource, verbe encore figé (souvent POST) |
| 2 | Verbes HTTP | Le verbe HTTP porte l’action ; codes de statut porteurs de sens |
| 3 | HATEOAS | Les réponses contiennent des liens vers les actions possibles |
Mots-clés OpenAPI (v3.1)
| Clé | Rôle |
|---|---|
openapi | Version de la spécification utilisée |
info | Titre, version, description de l’API |
servers | URL de base (production, staging…) |
paths | Chaque URI, avec les verbes qu’elle accepte |
parameters | Paramètres (path, query, header) d’un endpoint |
requestBody | Corps attendu (souvent pour POST/PUT/PATCH) |
responses | Réponses possibles, par code de statut |
components.schemas | Structures de données réutilisables via $ref |
components.securitySchemes | Mécanismes d’authentification (bearer, OAuth2…) |
$ref | Référence à un schéma défini dans components |
Authentification en un coup d’œil
| Mécanisme | Cas d’usage typique |
|---|---|
| Clé d’API | Accès machine à machine |
| JWT | Utilisateurs authentifiés, API stateless |
| OAuth2 | Déléguer un accès limité à une application tierce |
Voir aussi la carte du cours pour naviguer entre les leçons.