Qu’est-ce qu’une API REST ?
13 juillet 2021 / Par Natacha
Temps de lecture : 4 min
13 juillet 2021 / Par Natacha
Temps de lecture : 4 min
Une API REST est une interface qui permet d’établir une communication, qui respecte les contraintes d’architecture REST. L’architecture REST (Representational State Transfer) a été créée par l’informaticien Roy Fielding. C’est le type d’API le plus utilisé sur le web.
Pour accéder à une ressource, le client envoie une requête HTTP, en retour le serveur génère une réponse avec des données encodées.
6 contraintes ont été proposées par Roy Fielding :
Utilisez des noms à la place des verbes
N’utilisez pas :
/getAllCats
Utilisez plutôt :
GET /cats
Utilisez des noms pluriels
/cats à la place de /cat
/owners à la place de /owner
Utilisez correctement les méthodes HTTP, Utilisez PUT, POST et DELETE à la place de GET pour modifier l’état.
GET /owners/42/cats/ → retourne la liste des chats pour le propriétaire #42
GET /owners/42/cats/4 → retourne le chat #4 pour le propriétaire #42
POST /owners/42/cats → Ajoute un nouveau chat pour le propriétaire #42
PUT /owners/42/cats/4 → Modifie les données du chat #4 pour le propriétaire #42
GET /owners?cats<=2 → retourne la liste des propriétaires qui possèdent plus de 2 chats.
/cats/api/v1
Gérez les erreurs avec les codes d’état HTTP
→ Les standards HTTP fournissent plus de 70 statuts pour décrire les données retournées. Vous n’avez pas besoin de toutes les utiliser, mais au moins 10 d’entre elles sont importantes.
200 – OK – Tout marche correctement
201 – OK – Une nouvelle ressource a été créée
204 – OK – La ressource a bien été supprimée
304 – Non modifié – Le client peut utiliser la donnée en cache
400 – Mauvaise demande – La demande est invalide. L’erreur exacte devrait être expliquée dans la charge utile d’erreur
401 – Non autorisé – La requête a besoin de l’authentification
403 – Interdit – Le serveur a compris la demande mais l’utilisateur n’est pas autorisé
404 – Non trouvé – Il n’y a pas de ressources derrière l’URI
500 – Erreur serveur – Les développeurs d’API devraient éviter cette erreur
503 – Service indisponible – Indique que quelque chose d’inattendu est arrivé côté serveur
Acceptez et répondez avec du JSON
La plupart des API REST utilisent le format JSON (Javascript Object Notation). Mais ce n’est pas forcément suffisant de retourner uniquement du JSON, il faut aussi spécifier le content-type dans le header. Pour cela, il faut indiquer : application/json
Le but d’une API est d’être utilisée par de nombreux développeurs, et parfois même est destinée à des utilisateurs qui ne sont pas développeurs. Une documentation doit être accessible et facilement exploitable.
Une documentation devrait comporter au minimum :
Il existe plusieurs services pour documenter les API, parmi ceux-ci, en voici 3 :
Voici des exemples d’API bien documentées et facilement exploitables :
Pour conclure cet article, j’ai sélectionné pour vous deux points surprenants sur les API REST.
Maintenant que vous savez ce qu’est une API REST, découvrez comment sécuriser cette dernière !