Generator für GraphQL-Typdefinitionen aus JSON
Führung
Generator für GraphQL-Typdefinitionen aus JSON
Fügen Sie ein beliebiges JSON-Objekt oder Array ein und erhalten Sie sofort eine GraphQL-Schema-Definition-Sprache (SDL)-Dokument, die die Struktur beschreibt. Der Generator durchläuft das JSON-Baum, infertiert skalare Typen, benennt verschachtelte Objekte, fügt Varianten von Arrays von Objekten zusammen und emittiert optional eine Wurzeltyp. Query typ, damit das Ergebnis direkt in einen Server wie Apollo, Yoga, Mercurius oder graphql-go eingefügt werden kann.
Warum ein deterministischer JSON-zu-GraphQL-SDL-Converter wichtig ist
Die manuelle Schreibweise von GraphQL-Typen aus einem Beispiel-Payload ist mechanisch, aber fehleranfällig. Ein verpasster nullbarer Wert, eine inkonsistente Int vs Floatoder ein vergessener nicht-null-Marker auf einem Liste-Element kann die Codegenerierung für alle nachfolgenden Clients beeinträchtigen. Ein regelbasiertes Generator behandelt denselben JSON-Payload immer gleich, was es sicher macht, ihn bei jeder Änderung des APIs zu regenerieren.
Nutzung
- Fügen Sie ein JSON-Objekt oder Array in das Eingabefeld ein, oder klicken Sie Probieren Sie ein Beispiel aus um ein repräsentatives Payload zu laden.
- Legen Sie die Typ des Wurzels wenn Sie etwas anderes als
Root. - Wählen Sie einen Nullität des Felds Strategie – streng (
!) für erforderliche Felder oder alle nullbar für Prototypen. - Umschalten Erkennung von ID um Schlüssel zu automatisch zu fördern
idund*Idzum GraphQLIDSkalartyp. - Optional ein Wurzel
Querytyp mit einzelnen und Listen-Feldern einbeziehen. - Kopieren Sie die SDL oder laden Sie sie als
schema.graphql.
Funktionen
- Skalare Inferenz – unterscheidet
String,Int,Float,BooleanundIDdeterministisch. - Verschachtelte Objekt-Typen – erzeugt einen separaten benannten Typ für jedes verschachtelte Objekt mit PascalCase aus dem Feldschlüssel.
- Array von Objekten Zusammenführen – vereinigt alle Felder über die Array-Elemente, damit optionale Felder korrekt markiert werden.
- Nullbar vs. Nicht-Null-Wechsel – emittiert strenge
!Markierungen oder entspannt alles auf nullbar für frühe Prototypen. - Automatische ID-Erkennung – erhebt
id,userId,orderIdStil-Schlüssel zu demIDSkalartyp. - Wurzel-Abfrage-Grundgerüst – optional mit einzelnen und Listen-Resolver-Protokollen.
type Query { ... }– Ihr JSON bleibt im Browser, daher ist das Tool sicher für sensible Payloads. - Nur auf der Client-Seite verfügbar Typinferenz-Regeln
Ganze Zahlen werden auf
- abgebildet; Zahlen mit einem Bruchteil werden auf
Intabgebildet. Ein Feld, das als beide gesehen wird, wird aufFloatabgebildet. Strings werden aufFloat. - abgebildet. Mit ID-Erkennung aktiv werden Schlüssel namens
Stringoder endend mitidzuIdwerden. Boolesche Werte werden aufID. - abgebildet. Werte, die auf null markiert sind, machen das Feld nullbar, sodass das erzeugte SDL das letzte
Boolean. nullüberspringt.!.- Leere Arrays werden standardmäßig auf
[String]festgelegt, weil kein Elementtyp sicher abgeleitet werden kann. - Arrays von Objekten werden zu einem benannten Typ zusammengeführt; Felder, die in keinem Element vorkommen, werden automatisch nullbar.
Für wen wird es verwendet?
- Backend-Entwickler, die einen REST-Endpunkt oder eine JSON-Datei in einen GraphQL-Gateway wrappen.
- Frontend-Entwickler, die einen Schema-Prototyp gegen ein Fixtures-Payload erstellen, bevor die API bereit ist.
- API-Designer, die die Antwortformen von Drittanbietern als typisierten Vertrag dokumentieren.
- Codegenerierungspipelines, die ein reproduzierbares SDL-Artefakt aus einem stabilen JSON-Beispiel benötigen.
Häufig gestellte Fragen
-
Was ist GraphQL SDL?
Schema Definition Language ist die textbasierte Syntax von GraphQL, um die Typen, Felder, Abfragen und Mutationen zu beschreiben, die von einer API bereitgestellt werden. Sie verwendet Schlüssel wie type, scalar, enum und input, um die Struktur der Daten, die ein Server zurückgeben kann, und die Operationen, die ein Client aufrufen kann, zu deklarieren.
-
Warum verwendet GraphQL das ! (nicht-null) -Symbol?
Ein Exklamationszeichen nach einem Typ erklärt, dass das Feld niemals auf null zurückgeliefert werden kann. Es ermöglicht Clients, fehlerfreie Null-Prüfungen zu vermeiden und lässt den Server schnell auf fehlende erforderliche Werte reagieren. Ohne es behandelt GraphQL jedes Feld standardmäßig als nullbar.
-
Wann sollte ein Feld den ID-Skalartyp anstatt String verwenden?
Der ID-Skalartyp ist reserviert für opaque Identifikatoren, die verwendet werden, um ein Objekt zu refetchen oder zu cache, wie Primärschlüssel, UUIDs, Slugs oder Fremdschlüssel. Er wird als String serialisiert, signalisiert jedoch Identität anstatt Anzeigeinhalt, was es Clients wie Apollo und Relay ermöglicht, ihre normalisierten Caches korrekt zu bauen.
-
Wie behandelt GraphQL Listen von Objekten in SDL?
Listen werden mit eckigen Klammern geschrieben, z. B. [Order!]!. Die innere ! bedeutet, dass jedes Element in der Liste nicht-null ist, und die äußere ! bedeutet, dass die Liste selbst nicht-null ist. Die richtige Elementtyp aus einem JSON-Beispiel abzuleiten erfordert die Vereinigung der Feldformen über jedes Element in der Liste.
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug was added on Juni 26, 2026
