Aller au contenu principal
FONCTIONNALITÉ 01 / 11

Une console d’essai d’API intégrée à la doc.

Chaque page d’opération embarque un panneau qui envoie de vraies requêtes fetch depuis le navigateur du lecteur, durée mesurée et visionneuse de réponse comprises. La couche qu’on va d’habitude chercher dans un client API séparé — livrée avec la documentation, et tout reste dans le navigateur du lecteur.

demo.apiglow.dev/#/pet/getPetById · petstore.yaml
L’opération « Find pet by ID » et son panneau d’essai : identifiants d’environnement prêts, petId rempli, extrait cURL et réponse 200 avec le détail des temps. L’opération « Find pet by ID » et son panneau d’essai : identifiants d’environnement prêts, petId rempli, extrait cURL et réponse 200 avec le détail des temps.

CAPTURE RÉELLE, AFFICHÉE À 1:1

Les formulaires viennent du schéma.

ApiGlow lit chaque opération et en déduit le formulaire : les enums deviennent des listes déroulantes ou des combobox, les tableaux des lignes répétables, les tuples un champ par position, format: binary un champ fichier, et un corps XML arrive pré-rempli d’un exemple généré. Multipart, urlencoded, binaire et texte sont tous de premier rang, et la sérialisation des paramètres suit le schéma elle aussi — style, explode, deepObject, cookies compris.

La requête s’édite depuis les deux colonnes : modifiez un champ dans la doc centrale ou dans le panneau, les deux montrent toujours la même requête. Aucun autre outil de la catégorie ne tient ce miroir.

Le tableau des paramètres de chemin généré depuis le schéma, avec le champ petId pré-rempli. Le tableau des paramètres de chemin généré depuis le schéma, avec le champ petId pré-rempli.
[01]LE FORMULAIRE GÉNÉRÉ PAR LE SCHÉMA

Dix langages d’extraits, toujours à jour.

Chaque requête se rend en extrait de code vivant : cURL, fetch, Node, Python, PHP, Ruby, Java, C#, Go et HTTPie. L’extrait suit ce que vous tapez — c’est la requête que vous enverriez vraiment, pas un exemple figé.
Le panneau d’extrait montrant la commande cURL générée, avec le sélecteur de langage au-dessus. Le panneau d’extrait montrant la commande cURL générée, avec le sélecteur de langage au-dessus.
[02]UN EXTRAIT, DIX LANGAGES DERRIÈRE LE SÉLECTEUR

Collez un cURL, déposez une collection Postman ou un HAR.

L’import marche dans le sens que les autres outils négligent. Collez une commande cURL, déposez une collection Postman v2.1 ou un fichier HAR : ApiGlow le rapproche des opérations du schéma et ouvre la console pré-remplie. L’ambiguïté est présentée, jamais devinée, et tout ce qui ne peut pas s’importer est listé avant que vous validiez.

Chaque requête s’exporte — secrets caviardés par défaut.

N’importe quelle requête, du panneau ou de l’historique, s’exporte en cURL, en collection Postman v2.1, en Markdown prêt pour une issue GitHub, ou en HAR 1.2 — un clic pour copier. Les valeurs sensibles de vos environnements sont caviardées par défaut : un fichier qui circule n’emporte jamais un jeton que vous n’avez pas choisi d’y mettre.

Un historique rejouable, et un réseau qui s’explique.

Les requêtes atterrissent dans un historique IndexedDB — filtrable, rejouable tel quel ou rechargé dans la console pour l’éditer, avec une rétention affichée dans l’interface et configurable. Une bonne requête vaut aussi comme étape : chacune peut démarrer un scénario.

Quand ça échoue, le panneau diagnostique la panne — hors ligne, contenu mixte, CORS, injoignable — au conditionnel, parce que le navigateur cache les détails. Quand ça réussit, il lit les en-têtes de réponse pour vous : limites de débit, Retry-After, Deprecation et Sunset, pagination Link, identifiants de corrélation, plus protocole, compression et cache.

Les fichiers envoyés ne quittent jamais la mémoire de l’onglet — seuls nom, taille et type sont persistés.

Rétention affichée et configurable (valeurs par défaut)
{ "history": { "maxEntries": 500, "maxAgeDays": 30 } }

CORS.

Le navigateur applique CORS — votre API doit autoriser l’origine de la documentation, sinon les requêtes ne partent pas de la page. ApiGlow le dit sans détour dans l’interface quand ça arrive, et sait passer par un proxy que vous hébergez (tryIt.proxyUrl) ; il n’en fournit aucun. Voir Console d’essai & CORS.