Aller au contenu principal

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, PATCH ou DELETE ;
  • 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éthodeIntention habituelle
GETLire une ressource sans la modifier
POSTCréer une ressource ou déclencher un traitement
PUTRemplacer une ressource connue
PATCHModifier une partie d’une ressource
DELETESupprimer 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.