Testeur d'API REST
Outil de test pour les API REST.
Requête
Réponse
| Statut | {{ status }} |
|---|---|
| En-têtes | {{ hkey }}: {{ hval }} |
* Impossible de récupérer des données si l'API n'ajoute pas l'en-tête 'Access-Control-Allow-Origin': *. Envisagez d'utiliser l'extension correspondante pour Google Chrome.
https://chromewebstore.google.com/detail/cors-unblock/lfhmikememgdcahcdlaciloancbhjino
Qu'est-ce qu'un testeur d'API REST ?
Un testeur d'API REST vous permet de choisir une méthode HTTP (GET, POST, PUT, DELETE, etc.), d'envoyer une requête à un point de terminaison depuis votre navigateur et d'examiner sur-le-champ le code de statut, les en-têtes et le corps de la réponse. Vous vérifiez ainsi le comportement d'une API sans installer une application de bureau comme Postman ni recourir à cURL en ligne de commande.
C'est adapté pour contrôler le comportement pendant que vous développez une API, ou pour sonder une API publique afin de découvrir la forme de ses réponses avant même de lire la documentation. Gardez toutefois en tête que, les requêtes partant directement du navigateur, vous ne recevrez aucune réponse si l'API visée n'autorise pas le CORS (l'en-tête Access-Control-Allow-Origin).
Comment utiliser le testeur d'API REST
- Sélectionner la méthode HTTP Choisissez la méthode correspondant à l'opération voulue : GET, POST, PUT, PATCH, DELETE, etc.
- Saisir l'URL du point de terminaison Indiquez l'URL de l'API interrogée. Donnez une URL complète commençant par https.
- Définir en-têtes et corps si nécessaire Saisissez les en-têtes tels qu'un jeton d'authentification ou Content-Type, ainsi que le corps JSON envoyé avec POST ou PUT.
- Envoyer et examiner la réponse Le code de statut, les en-têtes et le corps de la réponse s'affichent immédiatement à cet endroit.
Astuces pour en tirer le meilleur parti
- Les restrictions CORS empêchent les requêtes directes vers des API sans l'en-tête
Access-Control-Allow-Origin. Utilisez des API publiques ou des API autorisant le CORS. - Ajoutez
Content-Type: application/jsonaux en-têtes de la requête pour envoyer un corps JSON. - Codes de statut HTTP : 2xx=succès, 4xx=erreur client (401=non autorisé, 404=non trouvé), 5xx=erreur serveur.
- Pour les API nécessitant une authentification Bearer Token, ajoutez
Authorization: Bearer {token}aux en-têtes.
Quand un testeur d'API REST est utile
Contrôler une API en cours de développement
Voyez aussitôt si l'API dorsale que vous construisez renvoie la réponse attendue, alors que vous êtes encore en train de l'écrire.
Explorer la forme des réponses d'une API publique
Avant de lire la documentation d'un service externe, envoyez une vraie requête et observez la structure JSON qui revient.
Vérifier les en-têtes d'authentification
Testez si une requête portant un jeton Bearer ou une clé d'API s'authentifie correctement.
Voir ce que contient une réponse d'erreur
Envoyez volontairement un paramètre invalide et vérifiez quel message d'erreur et quel code de statut l'API renvoie.
Glossaire
- REST
- Abréviation de Representational State Transfer. Un style de conception d'API web où les ressources se manipulent par des méthodes HTTP et des URL.
- CORS
- Abréviation de Cross-Origin Resource Sharing. Le mécanisme par lequel les navigateurs restreignent les requêtes vers une autre origine (domaine) : tant que le serveur d'API ne renvoie pas l'en-tête d'autorisation, la réponse reste illisible.
- Point de terminaison
- L'URL à laquelle une API accepte les requêtes. Par exemple « /api/users », qui désigne la ressource visée.
- Méthode HTTP
- L'identifiant qui indique le type de requête. On y trouve GET (lire), POST (créer), PUT (mettre à jour) et DELETE (supprimer).
- Jeton Bearer
- Un format de jeton très employé pour l'authentification des API. Il s'ajoute à l'en-tête de requête sous la forme « Authorization: Bearer {token} ».
Foire aux questions
Access-Control-Allow-Origin, le navigateur bloquera la requête. Utilisez une API publique ou autorisant le CORS, ou installez une extension comme CORS Unblock.Content-Type: application/json aux en-têtes de la requête et saisissez une chaîne JSON valide dans le champ du corps avant d'envoyer.Authorization: Bearer {your_token} aux en-têtes de la requête en remplaçant {your_token} par la valeur réelle de votre token.
Anecdote — La naissance de REST : comment la thèse de Roy Fielding a transformé le développement web
REST a été proposé en 2000 par Roy Fielding dans sa thèse de doctorat « Architectural Styles and the Design of Network-based Software Architectures ». Fielding était l'un des principaux coauteurs de la spécification HTTP/1.1, et le concept REST est né lorsqu'il a formalisé les principes de conception derrière HTTP.
Twitter a migré de SOAP vers une API REST vers 2010 et l'a ouverte aux développeurs, déclenchant une adoption massive. Aujourd'hui, des services comme Stripe, GitHub, Slack et OpenAI (ChatGPT) proposent des API REST, formant ce qu'on appelle l'« économie des API ».
La conception originale de REST inclut la contrainte « Hypermedia as the Engine of Application State (HATEOAS) », mais très peu de services l'implémentent strictement. Le débat sur « ce qui est vraiment RESTful » ressurgit régulièrement dans la communauté des développeurs web, et la définition reste controversée.