API HTTP et principes REST
Une API définit une manière stable pour deux logiciels de communiquer. Sur le web, l’interface envoie souvent une requête HTTP à un serveur, qui renvoie une réponse structurée.
Interface → requête HTTP → API → logique métier → base de données
Interface ← réponse HTTP ← API ← résultat
REST est un style architectural, pas un protocole supplémentaire. Une API REST représente généralement son domaine avec des ressources identifiées par des URL et utilise les règles de HTTP.
Anatomie d’une requête
- une méthode :
GET,POST,PUT,PATCHouDELETE; - une URL vers une ressource ;
- des en-têtes, par exemple le format accepté ;
- parfois un corps, souvent encodé en JSON.
POST /api/cards HTTP/1.1
Content-Type: application/json
{
"question": "Que signifie HTTP ?",
"answer": "Hypertext Transfer Protocol"
}
Méthodes courantes
| Méthode | Intention habituelle |
|---|---|
GET | Lire une ressource sans la modifier |
POST | Créer une ressource ou déclencher un traitement |
PUT | Remplacer une ressource connue |
PATCH | Modifier une partie d’une ressource |
DELETE | Supprimer une ressource |
Codes de réponse utiles
200 OK: la requête a réussi ;201 Created: une ressource a été créée ;204 No Content: succès sans contenu à renvoyer ;400 Bad Request: la requête est invalide ;401 Unauthorized: une authentification est nécessaire ou invalide ;403 Forbidden: l’identité est connue mais l’action est interdite ;404 Not Found: la ressource demandée n’existe pas ;409 Conflict: l’état actuel empêche l’opération ;500 Internal Server Error: le serveur a rencontré une erreur inattendue.
À retenir
Le code HTTP décrit le résultat technique de la requête. La réponse doit aussi fournir un message exploitable, sans révéler d’information sensible.