REST (Representational State Transfer) est un style d'architecture permettant de concevoir des services d'API web en réseau sur HTTP.
Verbes HTTP et sémantique
| Méthode | Action ciblée | Sûr | Idempotent |
|---|---|---|---|
GET |
Récupérer la représentation d'une ressource | Oui | Oui |
POST |
Créer une nouvelle ressource subordonnée | Non | Non |
PUT |
Remplacer toute la représentation de la ressource | Non | Oui |
PATCH |
Mettre à jour partiellement les propriétés | Non | Non |
DELETE |
Supprimer la ressource | Non | Oui |
HEAD |
Récupérer les en-têtes sans corps de réponse | Oui | Oui |
OPTIONS |
Interroger les méthodes HTTP supportées par le point d'accès | Oui | Oui |
Codes de statut HTTP courants
Succès (2xx)
200 OK: Requête réussie (le corps contient la représentation).201 Created: Ressource créée avec succès (l'en-têteLocationindique l'URI).202 Accepted: Requête acceptée pour traitement asynchrone.204 No Content: Action réussie, aucun corps renvoyé (fréquent avecDELETE).
Erreurs client (4xx)
400 Bad Request: Syntaxe malformée, paramètres invalides ou échec de validation.401 Unauthorized: Authentification manquante ou invalide.403 Forbidden: L'utilisateur authentifié n'a pas l'autorisation d'accéder à la ressource.404 Not Found: L'URI de la ressource n'existe pas.409 Conflict: La requête entre en conflit avec l'état actuel (ex. doublon de clé unique).422 Unprocessable Entity: Requête bien formée ayant échoué à la validation sémantique métier.429 Too Many Requests: Limite de débit (Rate Limit) dépassée.
Erreurs serveur (5xx)
500 Internal Server Error: Erreur générique non gérée côté serveur.502 Bad Gateway: Le serveur amont (Upstream) a renvoyé une réponse invalide.503 Service Unavailable: Serveur surchargé ou en cours de maintenance.
Enveloppe d'erreur JSON standard
{
"error": {
"code": "VALIDATION_ERROR",
"message": "The email address provided is already registered.",
"details": [
{
"field": "email",
"issue": "unique_constraint_violated"
}
]
}
}