Wichtigste Erkenntnisse
- 01Formatiert Abfragen, Mutationen, Subscriptions und SDL-Schemas mit dem offiziellen graphql.js-Parser.
- 02Validiert die Syntax und gibt genaue Zeilen- und Spaltennummern für Fehler aus — kein Schema erforderlich.
- 03GraphQL-Kommentare (#) werden beim Formatieren entfernt; verwenden Sie Beschreibungszeichenfolgen für Dokumentation, die erhalten bleiben soll.
- 04Läuft vollständig in Ihrem Browser — interne API-Abfragen und proprietäre Schemas bleiben privat.
Warum GraphQL-Dokumente formatieren?
GraphQL-Abfragen können schnell komplex werden — verschachtelte Fragmente, Inline-Variablen, mehrere Operationsdefinitionen und SDL-Typdefinitionen mit Interfaces und Direktiven. Konsistente Formatierung macht Code-Reviews schneller und erleichtert es, fehlende schließende Klammern oder Argument-Unstimmigkeiten auf einen Blick zu erkennen.
Der Formatter verwendet den Referenz-graphql.js-Parser — denselben Parser, mit dem die GraphQL-Spezifikation ausgeliefert wird. Das bedeutet, dass die kanonische Formatierung, die Sie hier erhalten, mit dem entspricht, was das GraphQL-Plugin von Prettier und die meisten GraphQL-Tools erzeugen. Alles, das hier sauber geparst wird, wird auch in Apollo, Relay und graphql-request sauber geparst.
So formatieren Sie ein GraphQL-Dokument
- 01
Fügen Sie Ihr GraphQL ein
Fügen Sie eine Abfrage, Mutation, Subscription, ein Fragment oder eine SDL-Schemadefinition in das Eingabefenster ein.
- 02
Klicken Sie auf Formatieren
Der Parser gibt das Dokument mit kanonischer Einrückung aus — zwei Leerzeichen Einrückung, ein Feld pro Zeile, konsistente Argument-Ausrichtung. Das Ergebnis wird im Ausgabefenster angezeigt.
- 03
Validieren Sie optional
Klicken Sie auf Validieren, um zu bestätigen, dass das Dokument ohne formatierte Ausgabe geparst wird. Das Ergebnis ist eine Bestätigung oder eine Liste von Syntaxfehlern mit Zeilen- und Spaltennummern.
- 04
Kopieren Sie das Ergebnis
Klicken Sie auf Kopieren, um das formatierte Dokument zu übernehmen. Fügen Sie es in Ihre Codebasis, eine PR-Beschreibung oder eine Dokumentationsdatei ein.
Sicher für interne Schemas und API-Abfragen
Der graphql.js-Parser läuft vollständig in Ihrem Browser. Kein Operationstext oder keine Schemadefinition wird an einen Server gesendet. Das macht es sicher, Abfragen zu formatieren, die auf private Feldnamen oder interne Typsysteme verweisen, die Sie nicht für Drittanbieter-Tools verfügbar machen möchten.
Die Validierung hier ist nur syntaktisch — das Tool prüft, dass das Dokument ein gültiges GraphQL-Dokument ist, aber es prüft nicht, ob Feldnamen in einem echten Schema vorhanden sind, ob Variablen mit Argument-Typen übereinstimmen oder ob Direktiven korrekt angewendet werden. Schema-bewusste Validierung erfordert, dass das Zielschema zusammen mit dem Dokument geladen wird.
Häufig gestellte Fragen zum GraphQL-Formatter
Validiert die GraphQL-Formatierung gegen ein Schema?
Nein — nur Syntaxvalidierung. Um zu prüfen, ob Felder und Argumente vorhanden sind, ist das Zielschema erforderlich. Dieses Tool bestätigt nur, dass das Dokument ein gültiges GraphQL-Dokument ist, nichts mehr.
Werden Kommentare in meinem GraphQL beibehalten?
Nein. Zeilen, die mit # beginnen, werden vom Parser entfernt. Verwenden Sie dreifach angeführte Beschreibungszeichenfolgen für Dokumentation, die die Formatierung überstehen soll.
Welche GraphQL-Spezifikationsversion wird unterstützt?
Die Spezifikation vom Oktober 2021, einschließlich OneOf-Eingabeobjekte und die @specifiedBy-Direktive.
Kann ich SDL-Schemadefinitionen formatieren, nicht nur Operationsdokumente?
Ja. Typdefinitionen, Interface-Deklarationen, Union-Typen, Enums, Direktiven und Beschreibungen werden alle korrekt durch den Formatter verarbeitet.
Wird die Abfrage oder das Schema irgendwo hochgeladen?
Nein. Der graphql.js-Parser läuft vollständig in Ihrem Browser — nichts verlässt Ihr Gerät.