Les pubs vous déplaisent ? Aller Sans pub Auj.

Générateur de définitions de types GraphQL à partir de JSON

DonnéesPromoteurTexte
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Guide

Générateur de définitions de types JSON vers GraphQL

Générateur de définitions de types GraphQL à partir de JSON

Collez n'importe quel objet ou tableau JSON et obtenez instantanément un document de langage SDL de définition de schéma GraphQL qui décrit sa forme. Le générateur parcourt l'arbre JSON, infère les types scalaires, nomme les objets imbriqués, fusionne les variantes d'array-of-object et émet un type racine facultatif. Query type afin que le résultat soit prêt à être intégré dans un serveur comme Apollo, Yoga, Mercurius ou graphql-go.

Pourquoi un convertisseur déterministe JSON vers SDL de GraphQL est important

Écrire manuellement les types GraphQL à partir d'un payload d'exemple est mécanique mais sujet à erreur. Une seule erreur de nullabilité manquée, une incohérence Int vs Float, ou un marqueur de non-null oublié sur un élément de liste peut faire planter la génération de code pour tous les clients downstream. Un générateur basé sur des règles traite le même exemple JSON de manière identique à chaque fois, ce qui rend la régénération sûre à chaque changement d'API.

Comment utiliser

  1. Collez un objet ou un tableau JSON dans la zone d'entrée, ou cliquez Essayez un exemple pour charger un payload représentatif.
  2. Définissez le Nom du type racine si vous souhaitez quelque chose d'autre que Root.
  3. Choisissez un Nullabilité du champ stratégie – strict (!) pour les champs requis ou tous nuls pour les prototypes.
  4. Basculer Détection de l'ID pour promouvoir automatiquement id et *Id les clés au scalaires de GraphQL ID .
  5. Inclure facultativement un type racine Query avec des champs d'entité unique et de liste d'entités.
  6. Copiez le SDL ou téléchargez-le sous forme de schema.graphql.

Caractéristiques

  • Inférence des scalaires – distingue String, Int, Float, Booleanet ID deterministiquement.
  • Types d'objets imbriqués – génère un type nommé séparé pour chaque objet imbriqué en utilisant PascalCase à partir de la clé du champ.
  • Fusion des tableaux d'objets – regroupe toutes les propriétés à travers les éléments du tableau afin de marquer correctement les champs optionnels.
  • Basculement entre nullable et non-null – émet des marqueurs stricts ! ou relâche tout pour les prototypes préliminaires.
  • Détection automatique de l'ID – promeut les clés au style id, userId, orderId au ID .
  • Scaffold de requête racine – facultatif type Query { ... } avec des signatures de résolveurs pour les entités individuelles et les listes.
  • Seulement côté client – votre JSON ne quitte jamais le navigateur, donc l'outil est sûr pour des payloads sensibles.

Règles d'inférence des types

  • Les nombres entiers sont mappés à Int; les nombres avec une partie décimale sont mappés à Float. Un champ vu à la fois promeut à Float.
  • Les chaînes sont mappées à String. Avec la détection de l'ID activée, les clés nommées id ou se terminant par Id deviennent ID.
  • Les booléens sont mappés à Boolean.
  • null les valeurs marquent le champ comme nullable afin que le SDL généré ignore la fin !.
  • Les tableaux vides sont par défaut à [String] car aucun type d'élément ne peut être inféré de manière sûre.
  • Les tableaux d'objets se fusionnent en un type nommé ; les champs manquants dans tout élément deviennent automatiquement nullable.

Pour qui est utilisé

  • Ingénieurs backend qui enveloppent une API REST ou un fichier JSON dans un gateway GraphQL.
  • Développeurs frontend qui prototypent un schéma à partir d'un payload d'exemple avant que l'API ne soit disponible.
  • Conceptrices d'API qui documentent les formes de réponse de tiers comme un contrat typé.
  • Les pipelines de génération de code qui ont besoin d'un artefact SDL reproductible à partir d'un échantillon JSON stable.

ANNONCE · Supprimer ?

FAQ

  1. Qu'est-ce que le langage SDL de GraphQL ?

    Le langage de définition de schéma (SDL) est la syntaxe textuelle de GraphQL pour décrire les types, les champs, les requêtes et les mutations exposées par une API. Il utilise des mots-clés comme type, scalaire, enum et input pour déclarer la forme des données qu'un serveur peut retourner et les opérations qu'un client peut appeler.

  2. Pourquoi GraphQL utilise-t-il le marqueur ! (non-null) ?

    Un point d'exclamation après un type indique que le champ ne peut jamais résoudre à null. Cela permet aux clients d'éviter le code de vérification de null et permet au serveur de planter rapidement si une valeur requise est manquante. Sans cela, GraphQL considère chaque champ comme nullable par défaut.

  3. Quand un champ doit-il utiliser le scalaire ID au lieu de String ?

    Le scalaire ID est réservé pour des identifiants opaques utilisés pour refaire ou mettre en cache un objet - clés principales, UUIDs, slugs, clés étrangères. Il est sérialisé sous forme de chaîne mais indique l'identité plutôt que le contenu affiché, ce qui aide des clients comme Apollo et Relay à construire correctement leurs caches normalisés.

  4. Comment GraphQL gère-t-il les listes d'objets dans le SDL ?

    Les listes sont écrites avec des crochets, par exemple [Order!]!. Le ! interne signifie que chaque élément de la liste est non-null, et le ! externe signifie que la liste elle-même est non-null. L'inférence du bon type d'élément à partir d'un échantillon JSON nécessite de fusionner les formes des champs à travers chaque élément du tableau.

Envie d'une expérience sans pub ? Passez à la version sans pub

Installez nos extensions

Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide

Sur Extension Chrome Sur Extension de bord Sur Extension Firefox Sur Extension de l'opéra

Le Tableau de Bord Est Arrivé !

Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !

ANNONCE · Supprimer ?
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Coin des nouvelles avec points forts techniques

Impliquez-vous

Aidez-nous à continuer à fournir des outils gratuits et précieux

Offre-moi un café
ANNONCE · Supprimer ?