Testeur d'API REST

Outil de test pour les API REST.

{{ alert.msg }}
Requête
URL
Méthode
Données
En-têtes {{ hkey }} {{ hval }}
En-têtes

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

  1. Sélectionner la méthode HTTP Choisissez la méthode correspondant à l'opération voulue : GET, POST, PUT, PATCH, DELETE, etc.
  2. Saisir l'URL du point de terminaison Indiquez l'URL de l'API interrogée. Donnez une URL complète commençant par https.
  3. 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.
  4. 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/json aux 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

Cet outil envoie des requêtes directement depuis le navigateur. Si l'API cible ne renvoie pas l'en-tête 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.

Ajoutez 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.

Ajoutez 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.
Tool-kun

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.