ForHosting KIT · Entwickler-Tools

Namen und Typen von GraphQL-Variablen extrahieren

Dieser GraphQL-Variablenextraktor liest ein ausführbares Dokument, prüft dessen Syntax und listet die Variablen jeder Abfrage, Mutation oder Subscription auf.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Das Ergebnis bewahrt die Operationsart, den optionalen Operationsnamen sowie Namen und exakte Typnotation jeder Variablen einschließlich Listen und Nicht-null-Markierungen. Damit können Sie Eingabeformulare erzeugen, Client-Operationen prüfen, Integrationen dokumentieren oder Abfragetext vor der Ausführung zuverlässig kontrollieren.

Unterscheiden Sie Deklarationen von Verwendungen

GraphQL-Variablen erscheinen als Deklaration wie <code>$id: ID!</code> neben dem Operationsnamen und als Verwendung wie <code>user(id: $id)</code> im Auswahlblock. Diese Funktion gibt ausschließlich Deklarationen zurück. Sie ordnet sie der jeweiligen Abfrage, Mutation oder Subscription zu, sodass gleiche Namen in verschiedenen Operationen nicht vermischt werden. Die wichtige Typnotation bleibt erhalten, etwa <code>String</code>, <code>ID!</code> oder <code>[ID!]!</code>. Standardwerte und Direktiven werden zur Syntaxprüfung analysiert, jedoch nicht ausgegeben. Fragmente werden ebenfalls geprüft, erzeugen aber keine Einträge, da sie keine Operationsvariablen deklarieren. Eine anonyme Kurzabfrage erscheint als namenlose Query-Operation mit leerer Variablenliste.

Nutzen Sie eine deterministische Syntaxprüfung

Reguläre Ausdrücke werden bei Kommentaren, Zeichenketten, Block-Strings, verschachtelten Listen, Objektvorgaben, Direktiven, Fragmenten, Aliasen und mehreren Operationen unzuverlässig. Dieser Parser zerlegt das gesamte Dokument in Token und folgt der ausführbaren GraphQL-Grammatik. Er weist nicht abgeschlossene Strings, ungültige Zahlen, unerwartete Zeichen, leere Auswahlblöcke und unvollständige Definitionen zurück. Das Ergebnis eignet sich daher als frühe Build-Prüfung. Weder Netzwerk noch Schema werden abgefragt. Deshalb kann die Funktion nicht feststellen, ob ein Feld auf Ihrem Server existiert, ein Variablentyp zu einem Argument passt oder schemaabhängige Regeln erfüllt sind. Verwenden Sie sie für Syntax und Deklarationsermittlung und führen Sie anschließend bei vorhandenem Schema eine getrennte Schemavalidierung durch.

Binden Sie das strukturierte Ergebnis ein

Die Antwort enthält das Array <code>operations</code> in Dokumentreihenfolge und die Summe <code>variable_count</code>. Jede Operation nennt ihre Art, bei Angabe ihren Namen und ein Array <code>variables</code> mit Datensätzen aus <code>name</code> und <code>type</code>. Diese stabile Form unterstützt Eingabeeditoren, Versionsvergleiche, Dokumentationstabellen und die Erkennung neuer Pflichtwerte. Getrennte Operationen vermeiden falsche Konflikte bei wiederholten Namen. Die Eingabe ist auf 200,000 Zeichen begrenzt, damit die Verarbeitung beschränkt bleibt. Es wird keine Abfrage ausgeführt; Schema, Header, Zugangsdaten und Laufzeitwerte sind unnötig. Sie können das Dokument im Browser einfügen oder die API für $0.002 je Element aufrufen. Bei einem Fehler nennt die Antwort die ungefähre Zeichenposition.

Variablenformular erstellen

Lesen Sie Deklarationen aus und erzeugen Sie passende Felder, bevor Laufzeitwerte erfasst werden.

Persistierte Abfragen prüfen

Vergleichen Sie genaue GraphQL-Namen und -Typen nach Änderungen an versionierten Operationen.

Client-Operationen dokumentieren

Wandeln Sie ein Dokument mit mehreren Operationen in ein gruppiertes Verzeichnis um.

Wird die GraphQL-Abfrage ausgeführt?

Nein. Das Dokument wird lokal analysiert; ein GraphQL-Endpunkt wird nie kontaktiert.

Werden Verwendungen von Variablen aufgenommen?

Nein. Nur Deklarationen werden ausgegeben; Referenzen sind keine weiteren Deklarationen.

Bleiben Listen- und Nicht-null-Markierungen erhalten?

Ja. ID!, [String!] und [ID!]! behalten ihre vollständige GraphQL-Notation.

Werden Felder gegen mein Schema validiert?

Nein. Die Syntaxprüfung erfolgt ohne Schema; Existenz und Kompatibilität benötigen einen weiteren Schritt.

Sind mehrere Operationen und Fragmente möglich?

Ja. Operationen bleiben geordnet; Fragmente werden geprüft, fügen aber keine Deklarationen hinzu.

Was kostet ein API-Aufruf?

Jedes Element kostet $0.002. Die Webversion führt denselben Parser lokal aus.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/dev/graphql-query-variables-extract

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/dev/graphql-query-variables-extract \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"query FindUser($id: ID!, $withPosts: Boolean = false) { user(id: $id) { name posts @include(if: $withPosts) { title } } }"}'
{
  "query": "query FindUser($id: ID!, $withPosts: Boolean = false) { user(id: $id) { name posts @include(if: $withPosts) { title } } }"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.graphql_query_variables_extract",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_chars200000
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →