Plak je kapotte GraphQL links en klik op "Fix GraphQL!!" om het te reparerenPlak kapotte GraphQL

Wat is de GraphQL Fixer?

Als je ooit een GraphQL-schema in een tool hebt geplakt en Syntax Error: Expected ":", found Name terugkreeg, of een Schema Registry-diff zag falen omdat iemand een dubbele punt na een veldnaam was vergeten, ken je de pijn. SDL is genadeloos — één leesteken weg en het hele document weigert te parsen. Deze tool repareert de gebruikelijke breuken: ontbrekende dubbele punten na veldnamen, dubbele velden binnen een type, niet-gebalanceerde accolades, losse komma's, fout getypte scalar-verwijzingen. Plak het kapotte schema in de linker editor, klik op de groene Fix GraphQL!!-knop en rechts komt een schoon SDL terug.

De fix volgt de GraphQL October 2021-specificatie voor type-, field- en argument-grammatica. De grammatica is klein maar streng — zie de officiële Schemas and Types-introductie voor de volledige set regels. De fixer normaliseert de structuur zonder je veldnamen, types of directives aan te raken, dus het diff tegen je registry blijft schoon. Wil je de output extra checken, gooi het dan in de validator van de Apollo Server schema-docs of laat het door de reference parser uit graphql-js heen lopen.

Het schema gaat naar een kleine AI-service die de instructie heeft alleen syntax te repareren — nooit velden te verzinnen, hernoemen of verwijderen. Het gerepareerde SDL komt terug als platte tekst, klaar om in je project te plakken. Aan onze kant wordt niets gelogd.

Hoe gebruik je de GraphQL Fixer

Drie stappen. Elke stap gebruikt de echte knoppen op deze pagina.

1

Plak kapotte SDL of laad het voorbeeld

Zet je kapotte GraphQL SDL in de linker editor. Klik op Voorbeeld GraphQL om een opzettelijk kapot Order/Customer-schema te laden met het soort breuken dat deze tool aanpakt — ontbrekende dubbele punten, een dubbel veld, een ontbrekende sluit-accolade.

type Order {
  id: ID!
  placedAt DateTime!
  total Money!
}

De fixer verzint geen velden die jij niet hebt geschreven. Hij repareert alleen syntax die de GraphQL-grammatica afwijst. Voor naamgeving- en design-conventies bovenop geldige syntax is de GraphQL best-practices guide de moeite waard.

2

Klik op Fix GraphQL!!

Druk op de groene knop. De fixer leest het kapotte SDL, identificeert de structuur- en leestekenfouten en herschrijft het document. Tijdens het werk verschijnt een laad-indicator. Beide editors gebruiken SDL syntax highlighting zodat je voor en na naast elkaar kunt vergelijken.

3

Kopieer het opgeschoonde schema

Het rechter paneel toont het gerepareerde SDL. Veldnamen, types, descriptions en directives blijven onveranderd — alleen de syntaxfouten zijn verholpen. Kopieer de output en plak hem in je schema.graphql-bestand of je registry.

Wanneer je dit echt zou gebruiken

Handmatig bewerkte schemas opschonen

Heb je een grote schema.graphql met de hand bewerkt en een dubbele punt tussen placedAt en DateTime! gemist? De foutmelding zegt alleen "Expected :" met een regelnummer. De fixer zet de dubbele punt terug zonder dat jij veld voor veld hoeft te zoeken.

AI-gegenereerd SDL fixen

Een LLM gevraagd een schema voor een nieuwe feature te schetsen en het kwam terug met een dubbel veld, een komma waar een accolade hoort en een onbalansvolle {. Bekend faalpatroon. Plakken, Fix klikken, parseerbaar schema terug zonder herschrijven.

Schemas terughalen uit logs

Een SDL-fragment uit een logregel gehaald waar het in escapes was verpakt of waar de newlines waren afgehakt? De fixer normaliseert de structuur zodat het herstelde schema echt weer parst.

Pre-flight voor Schema Registry

Voordat je een wijziging naar een federated registry pusht, haal je het SDL door de fixer om de leestekenfouten te vangen die de diff zouden blokkeren. Scheelt een rondje waarin het registry de upload weigert.

Veelgestelde vragen

Welke soorten fouten worden gerepareerd?

Ontbrekende dubbele punten tussen een veldnaam en zijn type (de meest voorkomende breuk), dubbele velden binnen één type, ontbrekende of overbodige sluit-accolades, losse komma's in input objects en niet-gepaarde vierkante haken rond list types. Velden, types of arguments worden niet verzonnen — alleen syntax die de parser afwijst, wordt gerepareerd.

Verandert het mijn veldnamen of types?

Nee. Veldnamen, scalar-namen, type-namen, descriptions en directives gaan ongewijzigd door. De fixer raakt alleen structurele syntax aan — de namen die jij hebt geschreven blijven exact zoals jij ze schreef.

Worden custom scalars en directives ondersteund?

Ja. scalar Money, scalar DateTime, eigen @auth- of @deprecated-directives — alles blijft behouden. De fixer valideert niet of een custom scalar bij je server geregistreerd is, alleen of het SDL parst.

En federated subgraphs (Apollo Federation)?

Federation-directives (@key, @external, @requires) gaan ongewijzigd door. De fixer is puur een laagje voor syntax-reparatie — hij draait geen federation-compositie. Laat de opgeschoonde output daarna door de compositiestap van je registry lopen.

Wordt mijn schema naar een server gestuurd?

Ja — de fix draait op een kleine backend-service omdat het taalmodel daar wordt gehost. We loggen de input niet en het antwoord komt rechtstreeks terug in je browser. Er is een limiet van 64 KB per request.

Levert het altijd een parseerbaar schema op?

Voor de gebruikelijke breuken hierboven, ja. Als de input zó veel structuur mist dat de oorspronkelijke bedoeling onduidelijk is (bijvoorbeeld een hele type-body weg), kan de output liever een fout melden dan gokken. Vul dan het duidelijke gat met de hand en haal het resultaat opnieuw door.

Andere GraphQL-tools

Repareren is één onderdeel van een GraphQL-workflow. Deze tools dekken de rest: