GraphQL formatieren: So prüfen Sie den GraphQL Formatter
Der GraphQL Formatter liefert derzeit nur bei leerer oder aus Leerraum bestehender Eingabe ein leeres erfolgreiches Ergebnis. Nichtleere GraphQL-Abfragen oder Schema-Texte führen vor der Ausgabe formatierten Textes zu einem Fehler.
Überblick
Der GraphQL Formatter nimmt GraphQL-Abfragen oder Schema-Text entgegen. Für diesen geprüften Stand ist entscheidend: Eine leere oder nur aus Leerraum bestehende Eingabe führt zu einem leeren Ergebnis, während eine nichtleere Formatierungsanfrage vor der Ausgabe des formatierten Textes fehlschlägt. Das Werkzeug eignet sich daher derzeit vor allem, um das Verhalten mit einer leeren Eingabe oder mit kontrollierten Testdaten zu prüfen, nicht zum erfolgreichen Aufbereiten eines konkreten GraphQL-Dokuments.
Vorgehen
-
Öffnen Sie den GraphQL Formatter und suchen Sie das Eingabefeld für GraphQL-Abfragen oder Schema-Text. Fügen Sie für einen Verhaltenstest entweder keinen Inhalt oder ausschließlich Leerzeichen ein. Eine nichtleere Abfrage können Sie ebenfalls eingeben, sollten dabei aber mit einem Fehler vor der formatierten Ausgabe rechnen.
-
Falls das Werkzeug eine Modusauswahl anbietet, steht standardmäßig die Verschönerungsvariante im Vordergrund. Nur der Wert
minifywählt den Minifizierungsweg; andere Werte folgen dem Verschönerungspfad. Bei einer nichtleeren Eingabe führt jedoch keiner dieser Wege zu einer erfolgreichen formatierten Ausgabe. -
Für nichtleere Eingaben ist die Einrückung standardmäßig auf zwei Leerzeichen pro Ebene gesetzt. Werte werden nach Möglichkeit in eine ganze Zahl umgewandelt. Werte unter 0, über 8 oder nicht umwandelbare Werte fallen auf zwei Leerzeichen zurück. Diese Normalisierung gilt nicht für eine leere oder nur aus Leerzeichen bestehende Eingabe.
-
Starten Sie die Verarbeitung mit der vorgesehenen Aktion des Werkzeugs. Bei leerem Inhalt erwarten Sie ein leeres Ergebnis. Bei nichtleerem Text erwarten Sie keinen ausgegebenen formatierten Text, auch wenn der Inhalt wie eine gültige GraphQL-Abfrage aussieht.
-
Falls die Eingabe über eine Schnittstelle übergeben wird, muss der ausgewählte Wert nach der Aliasauflösung eine Zeichenkette sein. Ist das primäre Feld leer, können auch Werte unter den älteren Bezeichnungen
graphqlodergql_inputherangezogen werden. Eine nicht als Zeichenkette übergebene Eingabe schlägt ansonsten fehl. Nichtleere Eingaben mit mehr als 1.000.000 UTF-8-Bytes werden ebenfalls vor der Formatierung abgewiesen.
Ergebnis richtig einordnen
Ein leeres oder aus Leerraum bestehendes Feld ist der einzige beschriebene Erfolgsfall: Das formatierte Ergebnis bleibt leer, und Eingabe- sowie Ausgabegröße betragen 0. Die zurückgegebenen Modus- und Einrückungswerte bleiben dabei so erhalten, wie sie übergeben wurden; sie werden nicht automatisch kleingeschrieben, umgewandelt oder auf einen Bereich begrenzt.
Bei gewöhnlichem nichtleerem Zeichenkettentext darf eine erfolgreiche Verschönerung oder Minifizierung nicht angenommen werden. Das Ergebnis ist daher kein Nachweis für gültiges GraphQL und keine Prüfung von Syntax, Ausführung oder fachlicher Korrektheit. Auch der Minifizierungsweg beschreibt zwar das Entfernen von hashmarkierten kommentarähnlichen Texten, das Zusammenziehen von Leerraum sowie das Entfernen von Randabständen an bestimmten Zeichen. Für gewöhnliche nichtleere Eingaben tritt der Fehler jedoch vorher auf; ein fertiges minifiziertes Ergebnis wird nicht zurückgegeben.
Praktisches Beispiel
Eine Entwicklerin möchte vor einem nichtleeren Test prüfen, welcher Erfolgsfall für eine reine Leerraumeingabe dokumentiert ist.
Geben Sie drei Leerzeichen ein, lassen Sie die übrigen Einstellungen unverändert und starten Sie die Verarbeitung.
Das Ergebnis enthält leeren formatierten Text; Eingabe- und Ausgabegröße sind 0. Die übergebenen Werte für Modus und Einrückung bleiben unverändert.
Einschränkungen
- Der geprüfte Stand gibt für gewöhnliche nichtleere Eingaben weder eine erfolgreiche Verschönerung noch eine erfolgreiche Minifizierung zurück. Deshalb lässt sich daraus keine Aussage über gültiges GraphQL oder eine erhaltene Dokumentstruktur ableiten.
Häufige Fehler
- Nichtleere Testdaten als Erfolg werten: Eine Abfrage kann ohne Ausgabe eines formatierten Textes fehlschlagen. Verwenden Sie für den dokumentierten Erfolgsfall eine leere oder nur aus Leerraum bestehende Eingabe und behandeln Sie nichtleere Eingaben als Fehlerfall.
Häufige Fragen
Kann ich mit dem GraphQL Formatter eine nichtleere Abfrage formatieren?
Ja, aber nur als leerer Erfolgsfall: Eine leere oder nur aus Leerraum bestehende Eingabe liefert leeren formatierten Text. Für nichtleere Abfragen wird kein erfolgreicher formatierter Text zurückgegeben.
Welche Einrückung verwendet das Werkzeug?
Nur bei nichtleeren Eingaben wird die Einrückung nach Möglichkeit in eine ganze Zahl umgewandelt und auf den Bereich von 0 bis 8 geprüft; ungeeignete Werte fallen auf zwei Leerzeichen zurück. Bei leerer Eingabe bleibt der übergebene Wert unverändert.
Was passiert bei einer Eingabe, die keine Zeichenkette ist?
Eine nicht als Zeichenkette übergebene Eingabe schlägt nach der Aliasauflösung fehl. Ist der primäre Wert leer, kann stattdessen ein wahrer Zeichenkettenwert unter graphql oder gql_input verwendet werden.