Validation des réponses JSON

Collez le schéma attendu et la réponse pour obtenir un rapport copiable. Les règles prises en charge sont appliquées aux données capturées sans appeler l’API.

Fonctionne localement dans votre navigateur
Votre schéma et votre réponse sont entièrement validés dans ce navigateur. Aucune payload, données de compte ou identifiant API ne quitte la page.
JSON Schema
Réponse API capturée
Résumé de validation

Les règles prises en charge incluent les règles locales $ref, type, propriétés de l'objet, champs obligatoires, tableaux, énumérations, const, formats, longueurs, modèles, plages et règles de composition courantes.

Résultats de validation
  • Collez une réponse JSON Schema et une réponse API pour la valider.

Valider les contrats de réponse sans exécuteur de test

Il s'agit d'un assistant de contrat côté navigateur pour les rencontres et les réponses capturées. Passez en revue le vocabulaire avancé JSON Schema, les références à distance et le comportement d'intégration de production dans votre propre suite de tests API.

Comment valider une réponse API

Collez le JSON Schema attendu et une réponse JSON capturée, puis cliquez sur « Valider la réponse » : la page liste chaque règle enfreinte avec son chemin JSON Pointer et affiche trois cartes de synthèse (résultat, nombre d’erreurs, type de réponse).

Le schéma et la réponse sont analysés dans la page elle-même. Aucune requête ne les envoie ailleurs, l’API interrogée n’est jamais appelée et le vérificateur applique un sous-ensemble documenté de JSON Schema, pas un validateur complet du standard.

  1. Collez le JSON Schema attendu dans le champ de gauche, ou cliquez sur « Charger un exemple » pour remplir les deux champs avec un petit contrat (id, email et roles obligatoires) et le valider immédiatement.
  2. Collez la réponse JSON capturée dans le champ de droite. Le JSON est analysé avant toute règle : une charge mal formée est signalée comme erreur d’analyse au lieu de produire des constats.
  3. Cliquez sur « Valider la réponse ». Chaque constat combine un niveau (conforme ou erreur), un chemin JSON Pointer comme $/roles/0 et une phrase ; les cartes affichent Valide/Non valide, le nombre d’erreurs et le type de réponse.
  4. « Copier le rapport » copie les constats en texte brut et « Effacer » vide les deux champs, la synthèse, les constats et le bouton de copie ; un champ vide affiche un message dans votre langue.

Ce que le validateur contrôle et ce qu’il ignore

Règles appliquées

Types (y compris integer), propriétés obligatoires, additionalProperties (false ou un schéma), enum et const comparés en profondeur, les formats email, uuid, date, date-time, uri, uri-reference, hostname et ipv4, ainsi que minLength/maxLength/pattern, minimum/maximum/exclusiveMinimum/exclusiveMaximum sous forme numérique et booléenne draft 4, multipleOf, minItems/maxItems/uniqueItems avec un seul schéma items, minProperties/maxProperties et allOf/anyOf/oneOf.

Les références locales sont résolues dans le même document : #, #/$defs/... et #/definitions/... . Les chemins sont des JSON Pointer : $ est la racine, /0 le premier élément d’un tableau, et / et ~ dans un nom sont échappés en ~1 et ~0. Les formats inconnus sont ignorés et le contrôle s’arrête à 60 niveaux d’imbrication avec un message explicite.

Règles non appliquées

Un $ref qui ne commence pas par # est signalé comme non résolu au lieu d’être téléchargé : les schémas distants ne sont donc pas chargés. La forme tuple d’items (un tableau de schémas), if/then/else, dependencies, patternProperties, propertyNames et les mots-clés d’encodage de contenu sortent du sous-ensemble implémenté ; les mots-clés inconnus sont simplement ignorés.

La page n’envoie jamais la charge à un serveur et ne l’exécute jamais ; c’est une aide de relecture pour les fixtures et les réponses capturées, pas un test de conformité. Pour un comportement propre à un draft ou un verrouillage de production, utilisez un validateur complet dans votre propre suite.

Lire et copier le rapport

Les trois cartes comptent les erreurs de schéma et affichent le type JSON de la réponse (object, array, string, number, integer, boolean, null). Les constats apparaissent dans l’ordre de détection ; quand rien n’échoue, la liste affiche une seule entrée conforme.

« Copier le rapport » copie des lignes comme [ERROR] $/id — Type attendu string, type reçu integer. à coller dans un ticket ou un message de commit. Rien n’est conservé : « Effacer » réinitialise la page et, au rechargement, l’atelier repart vide.

Outils récents :