
GraphQL SDL: Schema online validieren und formatieren
SDL-Syntaxfehler, Schema-Review und Formatierung vor dem Merge — ergänzt den bestehenden GraphQL-Beautifier.
Warum GraphQL-SDL vor dem Merge validieren?
Ein Schema, das nicht parst, blockiert Codegenerierung, lässt den GraphQL-Server nicht starten und macht Reviews zum Rätselraten. Typische Ursachen — fehlende Klammer, unbekannter Typ, vergessener Query-Root — verstecken sich in einem 400-Zeilen-SDL-Diff. Der GraphQL-SDL-Validator von FastMinify führt GraphQL.js buildSchema im Browser aus: Schema-Dokument einfügen, Valid/Invalid-Verdict mit Zeile und Spalte, wenn GraphQL.js sie liefert. Das Formatieren bleibt bei Beautify GraphQL (Prettier). Es gibt keinen eigenen Slug format-graphql. Der Rest des Clusters liegt im API-Tools-Hub. Wer auch REST-Verträge pflegt, kombiniert das mit dem OpenAPI-Validierungsleitfaden.
Ehrliche Grenzen und Review-feste Gewohnheiten
Valid bedeutet: GraphQL.js buildSchema hat das eingefügte SDL akzeptiert. Das ist kein Beweis, dass Ihre API in Produktion korrekt antwortet.
.graphql-Dateien, Includes oder Git-URLsDas Browser-Tool ist die schnelle Schleife vor git push. Teams behalten GraphQL.js, graphql-eslint oder rover in der CI als Merge-Gate.
Query-Typ oder ein eigenes schema { query: … } nutztDie meisten SDL-Vorfälle sind Rename-Reste und fehlende Roots, keine exotischen GraphQL-Features.
Schema-SDL vs. Queries: zwei Dokumente, zwei Tools
Die Schema Definition Language (SDL) beschreibt Typen, Felder und Roots. Sie ist der Vertrag, den Resolver einhalten müssen — keine ausführbare Query. FastMinify prüft diesen Vertrag mit GraphQL.js buildSchema, nicht über einen Live-Server.
Query, Mutation und Subscription, wenn diese Typen existieren.graphql-Dateien per URLEin Operationsdokument (query, mutation, subscription, fragment) ist kein Schema-SDL. Einfügen in den Validator lässt buildSchema scheitern. Formatieren Sie diese Dokumente mit Beautify GraphQL.
buildSchema, keine Query-AusführungGraphQL.js verlangt typischerweise einen Query-Root-Typ, sofern Ihre Schema-Definition keinen anderen Query-Typ nennt. Ein Dokument nur mit type User { … } ohne Query-Root scheitert meist — das ist erwartet, kein FastMinify-Bug.
type Query { hello: String }schema { query: RootQuery } plus type RootQuery { … }Validieren beantwortet „akzeptiert GraphQL.js dieses Schema-SDL?“. Beautify beantwortet „ist dieses GraphQL lesbar?“. Einrückung behebt niemals einen unbekannten Typ.
buildSchema — valid oder invalid, Issues mit Zeile/Spalte wenn vorhandentabWidth 2 oder 4, Tabs, printWidth 80 / 100 / 120Erst validieren, dann formatieren: ein praxisnaher Ablauf
Öffnen Sie den GraphQL-Validator, fügen Sie ein einzelnes Schema-Dokument ein (max. 512 KiB UTF-8) und warten Sie auf das gedebouncte Verdict. Das Ergebnispanel zeigt Valid oder Invalid, den ersten Fehler mit Zeile und Spalte wenn bekannt, eine Copy-Error-Aktion und Schema-Statistiken nach erfolgreichem Parse.
Der GraphQL-Beautifier pretty-printet Schemas und Operationen mit Prettier. Nützlich für Review-Diffs — er ersetzt validate nicht. Optionen: 2 oder 4 Leerzeichen oder Tabs plus Druckbreite. Alle Formatter liegen im Beautify-Tools-Hub.
Ein Teammitglied hat Pet in Animal umbenannt, aber pet(id: ID!): Pet auf Query gelassen. CI oder Server schlagen fehl, mit wenig Kontext im GitHub-Overlay.
Schritt 1: Schema in validate-graphql einfügen
Öffnen Sie validate-graphql. Ein invalid-Verdict mit Unknown type "Pet" (und einer Zeile wenn vorhanden) zeigt auf das veraltete Feld.
Schritt 2: Typnamen korrigieren oder den Typ wiederherstellen
Entweder den Rückgabetyp des Felds auf Animal ändern oder type Pet wieder hinzufügen. Erneut einfügen, bis das Panel ein gültiges Schema zeigt.
Schritt 3: Beautify und committen
Das korrigierte SDL durch beautify-graphql jagen, kopieren oder herunterladen, PR aktualisieren. Reviewer lesen Typen, keinen Einzeiler-Blob.
Ein generiertes oder minifiziert wirkendes Schema landet im Repo. Reviewer sehen nicht, welche Felder auf Query versus Mutation sitzen.
Schritt 1: Zuerst beautify, wenn Sie es nicht einmal lesen können
In beautify-graphql einfügen. Prettier fächert Selections und Typkörper auf. Dieser Schritt beweist nicht, dass das Schema gültig ist.
Schritt 2: Das formatierte Dokument validieren
Das eingerückte SDL in validate-graphql kopieren. Prüfen, dass der Query-Root existiert und jeder benannte Typ definiert ist.
Schritt 3: Die Statistik-Kacheln prüfen
Typanzahl und Root-Feldzahlen helfen, eine leere Query oder verlorene Mutations zu sehen. Dann die formatierte Datei committen.
Fazit
Validieren Sie GraphQL-SDL im Browser mit buildSchema und formatieren Sie danach mit Prettier — lokal, ohne das Schema irgendwohin zu senden. Diese Schleife findet unbekannte Typen und fehlende Query-Roots vor CI oder Gateway. Sie ersetzt keinen laufenden Server, keine Introspection und kein Federation-Compose. Für REST-Verträge bleiben Sie im API-Hub; für lesbare Queries bei Beautify GraphQL.
GraphQL jetzt validieren oder formatieren
Verwandte Artikel

Netzwerk, Maske, Hostbereich und Broadcast eines CIDR berechnen, Bereiche zu minimalen Blöcken zusammenfassen und IPs prüfen, direkt im Browser.

cURL-Kopien formatieren, rohe HTTP-Anfragen und -Antworten parsen und HAR-Exporte lesen, direkt im Browser: nichts wird gesendet oder wiederholt.

Header und Payload eines JWT dekodieren oder ein Test-Token signieren, direkt im Browser: HS256, RS256, ES256, ohne Secret an einen Drittserver zu senden.