Générateur de requêtes GraphQL
Créez visuellement des requêtes, mutations et abonnements GraphQL avec des arbres de champs dynamiques, variables, fragments et sortie en direct.
Mis à jour le
GraphQL Query Builder
Visually build GraphQL queries, mutations, and subscriptions with a dynamic field tree, variables, and fragments.
Presets
Operation
Fields
Variables
No variables defined.
Fragments
No fragments defined.
GraphQL Query
Variables JSON
Questions Fréquentes
Qu'est-ce que le Constructeur de Requêtes GraphQL ?
Le Constructeur de Requêtes GraphQL est un outil en ligne gratuit qui permet de construire visuellement des requêtes, mutations et abonnements GraphQL avec des arbres de champs dynamiques, des variables, des fragments et une sortie en direct. Il fonctionne entièrement dans votre navigateur, sans installation ni inscription.
Quelles opérations ?
Query, Mutation et Subscription. Le constructeur adapte la syntaxe selon le type d'opération.
Variables et fragments ?
Définissez des variables typées ($userId: ID!) dans la section Variables et référencez-les dans les arguments. Les fragments définissent des sélections de champs réutilisables sur un type.
Est-ce gratuit ?
Oui, côté client, sans inscription et sans serveur.
Mes données sont-elles en sécurité avec cet outil ?
Tout à fait. Le Constructeur de Requêtes GraphQL traite tout côté client, dans votre navigateur. Aucune donnée n'est envoyée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.
Le Constructeur de Requêtes GraphQL fonctionne-t-il sur les appareils mobiles ?
Oui, le Constructeur de Requêtes GraphQL est entièrement adaptatif et fonctionne sur smartphones et tablettes. Vous pouvez l'utiliser sur tout appareil doté d'un navigateur web moderne, sans aucune application à télécharger.
Dois-je créer un compte pour utiliser cet outil ?
Aucun compte ni inscription n'est nécessaire. Ouvrez simplement le Constructeur de Requêtes GraphQL dans votre navigateur et commencez à l'utiliser immédiatement. Il n'y a ni barrière d'inscription ni restriction d'usage.
Quels langages de programmation ou formats sont pris en charge ?
Le Constructeur de Requêtes GraphQL prend en charge un large éventail de formats et de langages populaires. Consultez l'interface de l'outil pour la liste complète des options prises en charge.
Comment utiliser le Constructeur de Requêtes GraphQL ?
Saisissez simplement votre entrée dans le champ prévu, ajustez les options à votre convenance et l'outil la traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.
Quels navigateurs sont pris en charge ?
Le Constructeur de Requêtes GraphQL fonctionne dans tous les navigateurs modernes, dont Chrome, Firefox, Safari, Edge et Opera. Pour une expérience optimale, utilisez la dernière version de votre navigateur préféré.
Quelle est la différence entre une requête (query) et une mutation en GraphQL ?
Une requête (query) lit des données sans rien modifier — elle demande au serveur des champs précis et les récupère, un peu comme une requête GET. Une mutation écrit des données : elle crée, met à jour ou supprime des enregistrements, et renvoie généralement l'objet concerné pour que vous puissiez confirmer le changement. Les deux utilisent la même syntaxe d'ensemble de sélection pour choisir les champs à renvoyer, mais elles déclarent des mots-clés d'opération différents (query contre mutation), et les mutations prennent presque toujours des arguments en entrée, souvent une variable typée comme un objet input. Il existe aussi un troisième type, subscription, qui maintient une connexion ouverte pour des mises à jour en temps réel. Dans ce générateur, vous choisissez le type d'opération au départ, et il ajuste le mot-clé et la structure générés en conséquence, ce qui permet de passer d'une requête de lecture à une mutation d'écriture sans réécrire l'enveloppe à la main.
Comment passer des variables à une requête GraphQL au lieu de coder les valeurs en dur ?
Déclarez chaque entrée comme une variable nommée dans la signature de l'opération, donnez-lui un type GraphQL tel que ID!, Int ou String, puis référencez-la dans un argument avec un signe dollar — par exemple user(id: $userId). Envoyer les valeurs séparément sous forme d'objet JSON garde la requête réutilisable, permet à votre client de la mettre en cache, et évite les erreurs de guillemets et d'échappement liées à l'injection de valeurs brutes dans la chaîne. Le point d'exclamation après un type signifie que la variable est obligatoire. Dans ce générateur, déclarer des variables dans la section Variables les insère automatiquement dans la signature, et saisir une valeur commençant par $ dans n'importe quel argument est reconnu comme une référence de variable. Il produit également un objet JSON Variables prêt à coller, à côté de la requête, pour l'utiliser directement dans Postman ou votre client d'API.
Qu'est-ce qu'un fragment GraphQL et quand faut-il en utiliser un ?
Un fragment est un ensemble de champs nommé et réutilisable, défini sur un type précis — par exemple fragment UserFields on User { id name email }. Plutôt que de répéter la même sélection de champs à plusieurs endroits, vous la définissez une seule fois et l'insérez partout où vous avez besoin de ces champs. Les fragments gardent les requêtes volumineuses lisibles, garantissent que deux parties d'une même requête demandent la même forme de données, et facilitent les évolutions de schéma puisque vous modifiez la liste de champs à un seul endroit. Ils sont particulièrement utiles lorsque plusieurs requêtes renvoient le même type d'objet, ou lorsqu'un composant d'interface a toujours besoin des mêmes propriétés. Dans ce générateur, vous ajoutez un fragment, lui donnez un nom et un type cible, puis construisez son arbre de champs de la même manière que la sélection principale — la sortie générée inclut la définition du fragment, prête à l'emploi immédiatement.
Pourquoi GraphQL ne renvoie-t-il que les champs que je demande ?
GraphQL est conçu pour que le client déclare exactement les champs qu'il souhaite, et le serveur ne renvoie que ceux-là — rien de plus. C'est l'inverse d'un endpoint REST classique, qui envoie une charge utile fixe quel que soit ce que vous utilisez réellement. Demander des champs précis signifie des réponses plus légères, moins de sur-récupération de données que vous jetterez, et aucun aller-retour supplémentaire pour rassembler des enregistrements liés, puisque vous pouvez imbriquer des sous-sélections pour récupérer des objets connectés en une seule requête. La contrepartie est que chaque champ souhaité doit être nommé explicitement dans l'ensemble de sélection, ce qui devient facile à mal faire sans s'en rendre compte à mesure que les requêtes grandissent. Ce générateur rend cette sélection explicite visuelle — vous cliquez pour ajouter et imbriquer des champs à n'importe quelle profondeur, et il écrit l'ensemble de sélection correspondant afin que la structure reflète la forme des données dont vous avez besoin.
Quelle est la différence entre une sortie GraphQL enrichie (prettified) et minifiée ?
La sortie enrichie est formatée sur plusieurs lignes avec une indentation cohérente, ce qui rend les ensembles de sélection imbriqués, les arguments et les fragments faciles à lire et à relire — c'est le format à privilégier lorsque vous versionnez une requête ou que vous la partagez avec des coéquipiers. La sortie minifiée regroupe la même requête sur une seule ligne, sans espaces superflus, ce qui est pratique lorsque vous intégrez la chaîne de requête directement dans du code ou une valeur de configuration où les sauts de ligne sont gênants. Les deux sont fonctionnellement identiques pour le serveur ; seuls les espaces diffèrent, vous pouvez donc passer de l'une à l'autre librement sans changer le comportement. Dans ce générateur, un simple interrupteur bascule instantanément entre les deux vues, et depuis l'une ou l'autre vous pouvez copier la requête, copier le JSON Variables, ou télécharger l'opération sous forme de fichier .graphql.
Outils Associés
Testeur d'API en Ligne Gratuit
Testez des API REST avec des requêtes GET, POST, PUT et DELETE. Gratuit, rapide et entièrement dans votre navigateur, sans inscription.
Convertisseur cURL en Code Gratuit
Convertissez des commandes cURL en code JavaScript, Python ou PHP. Gratuit, rapide et entièrement dans votre navigateur, sans inscription.
Générateur de JSON Schema Gratuit
Générez un JSON Schema à partir de vos données JSON automatiquement. Gratuit, rapide et entièrement dans votre navigateur, sans inscription.
Analyseur d'En-têtes HTTP Gratuit
Analysez et inspectez les en-têtes HTTP des requêtes et des réponses. Gratuit, rapide et entièrement dans votre navigateur, sans inscription.
À propos du GraphQL Query Builder
Le GraphQL Query Builder est un outil visuel gratuit pour assembler des opérations GraphQL sans saisir la syntaxe à la main. Vous construisez une requête en cliquant — en ajoutant des champs, en imbriquant des sous-sélections, en attachant des arguments, en déclarant des variables et en définissant des fragments — et l'outil écrit pour vous la chaîne GraphQL correspondante en temps réel. Il s'adresse aux développeurs qui intègrent une API GraphQL, aux ingénieurs QA qui préparent des requêtes de test, et à toute personne qui sait à peu près quelles données elle veut mais préfère éviter de se battre à la main avec les accolades, les virgules et les guillemets d'arguments.
GraphQL est un langage de requête pour les API dans lequel le client précise exactement les champs dont il a besoin, et le serveur ne renvoie que ceux-ci. Cette précision fait sa force, mais la syntaxe — ensembles de sélection imbriqués, déclarations de variables typées comme $userId: ID!, opérations nommées et fragments — est facile à écrire de travers sans s'en rendre compte. Ce générateur supprime cette friction en produisant une sortie valide à partir d'un formulaire structuré.
Comment construire une requête
L'interface se divise en un constructeur à gauche et un aperçu du résultat en direct à droite. Vous commencez par choisir le type d'opération — Query, Mutation ou Subscription — et éventuellement en lui donnant un nom (par exemple GetUser). Le constructeur ajuste automatiquement le mot-clé généré en conséquence.
La section Fields est un arbre dynamique. Chaque champ peut avoir :
- Un alias pour renommer un champ dans la réponse
- Un nom de champ, la propriété réelle de votre schéma
- Des sous-champs imbriqués, ajoutés à n'importe quelle profondeur pour que l'ensemble de sélection reflète la forme de vos données
- Des arguments, chacun avec un nom, un type et une valeur — tapez une valeur commençant par
$et le constructeur la traite automatiquement comme une référence de variable
Trois préréglages de départ — une requête User pour un enregistrement unique, une mutation Create, et une requête de liste paginée par curseur — chargent des exemples complets que vous pouvez modifier, ce qui reste le moyen le plus rapide de voir la structure correcte pour un cas d'usage courant.
Variables et fragments
La section Variables vous permet de déclarer des entrées typées et réutilisables. Chaque variable possède un nom, un type GraphQL tel que ID!, Int ou String, et une valeur par défaut facultative. Le constructeur les insère dans la signature de l'opération — query GetUser($userId: ID!) — et produit un objet JSON Variables séparé que vous pouvez coller directement dans un client, Postman, ou votre flux de test d'API.
Les fragments vous permettent de définir un ensemble nommé de champs sur un type précis (fragment UserFields on User { ... }) afin qu'une sélection puisse être réutilisée plutôt que répétée. Ajoutez un fragment, donnez-lui un nom et un type cible, puis construisez son arbre de champs de la même manière que pour la requête principale.
Le générateur gère également correctement le formatage des valeurs : les entiers et les décimaux sont émis sans guillemets, les booléens sont mis en minuscules, les littéraux objets et tableaux passent tels quels, et les chaînes de caractères simples sont entourées de guillemets avec les guillemets internes échappés — conformément à ce qu'attend un serveur GraphQL pour les arguments littéraux.
Sortie, export et confidentialité
La sortie se met à jour instantanément à mesure que vous modifiez la requête. Un interrupteur bascule entre un formatage enrichi sur plusieurs lignes (lisible, prêt pour le contrôle de version) et une sortie minifiée sur une seule ligne (compacte, pratique pour l'intégrer dans du code). À partir de là, vous pouvez copier la requête, copier le JSON Variables, ou télécharger l'opération sous forme de fichier .graphql. Une ligne de statut résume le type d'opération, le nombre de champs racines, ainsi que le nombre de variables et de fragments en jeu.
Tout s'exécute entièrement dans votre navigateur. Le constructeur assemble la chaîne de requête localement, sans aucun appel réseau, si bien que vos noms de champs, les détails de votre schéma et vos éventuelles valeurs d'exemple ne quittent jamais votre appareil — utile lorsque vous esquissez une requête contre une API interne non publiée. Il n'y a ni compte, ni installation, ni limite d'utilisation, et comme le traitement se fait côté client, l'outil continue de fonctionner même après le chargement de la page, hors connexion.
Choisissez un préréglage ou ajoutez votre premier champ ci-dessus pour commencer à générer une requête.