Indsæt din ødelagte GraphQL til venstre og klik "Fix GraphQL!!" for at reparere denIndsæt ødelagt GraphQL

Hvad er GraphQL Fixer?

Hvis du nogensinde har indsat et GraphQL-skema i et værktøj og fået Syntax Error: Expected ":", found Name tilbage, eller har set en Schema Registry-diff fejle fordi nogen glemte et kolon efter et feltnavn, kender du smerten. SDL tilgiver intet — ét manglende tegnsætningstegn og hele dokumentet nægter at parse. Dette værktøj reparerer de almindelige fejl: manglende kolonner efter feltnavne, duplikerede felter inde i en type, ubalancerede tuborgklammer, løse kommaer, fejlskrevne scalar-referencer. Indsæt det ødelagte skema i editoren til venstre, klik på den grønne Fix GraphQL!!-knap, og en ren SDL kommer tilbage til højre.

Reparationen følger GraphQL October 2021-specifikationen for type-, field- og argument-grammatik. Grammatikken er lille, men streng — se den officielle Schemas and Types-introduktion for hele regelsættet. Fixeren normaliserer strukturen uden at røre dine feltnavne, types eller directives, så diff'en mod dit registry forbliver ren. Vil du have en ekstra kontrol af outputtet, kan du smide det ind i validatoren i Apollo Server skema-dokumentationen eller køre det gennem reference-parseren der følger med graphql-js.

Skemaet sendes til en lille AI-tjeneste, der har fået besked på kun at reparere syntaks — aldrig at finde på, omdøbe eller fjerne dine felter. Den reparerede SDL kommer tilbage som ren tekst, klar til at indsætte i dit projekt. Intet logges på vores side.

Sådan bruger du GraphQL Fixer

Tre trin. Hvert trin bruger de faktiske knapper på siden.

1

Indsæt ødelagt SDL eller indlæs eksemplet

Smid din ødelagte GraphQL SDL i editoren til venstre. Klik Eksempel-GraphQL for at indlæse et bevidst ødelagt Order/Customer-skema med de typer fejl, dette værktøj håndterer — manglende kolonner, et duplikeret felt, en manglende afsluttende tuborgklamme.

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

Fixeren finder ikke på felter, du ikke har skrevet. Den reparerer kun syntaks, som GraphQL-grammatikken afviser. For navngivnings- og designkonventioner oven på gyldig syntaks er GraphQL best-practices-guiden værd at læse.

2

Klik Fix GraphQL!!

Tryk på den grønne knap. Fixeren læser den ødelagte SDL, identificerer struktur- og tegnsætningsfejlene og omskriver dokumentet. En indlæsningsindikator vises mens den arbejder. Begge editorer bruger SDL-syntaksfremhævning, så du kan sammenligne før og efter side om side.

3

Kopiér det ryddede skema

Højre panel viser den reparerede SDL. Feltnavne, types, beskrivelser og directives er uændrede — kun syntaksfejlene er rettet. Kopier outputtet og indsæt det i din schema.graphql-fil eller dit registry.

Hvornår du faktisk ville bruge det

Rydde op i håndredigerede skemaer

Redigerede en stor schema.graphql i hånden og missede et kolon mellem placedAt og DateTime!? Fejlbeskeden siger bare "Expected :" med et linjenummer. Fixeren sætter kolonet tilbage uden at du skal jagte felt for felt.

Reparér AI-genereret SDL

Bedt en LLM om at lave et udkast til et skema til en ny feature og fået et duplikeret felt, et komma hvor der skulle være en tuborgklamme og en uparret { tilbage. Klassisk fejl. Indsæt, klik Fix, få et parsable skema tilbage uden at skulle skrive om.

Genskab skemaer fra logs

Trak et SDL-fragment ud af en loglinje, hvor det var pakket ind i escapes eller havde fået linjeskiftene fjernet? Fixeren normaliserer strukturen, så det genskabte skema rent faktisk parser igen.

Pre-flight til Schema Registry

Inden du pusher en ændring til et federeret registry, så kør SDL'en gennem fixeren for at fange tegnsætningsfejlene, der ville blokere diff'en. Sparer dig en runde med registry'et der afviser upload.

Almindelige spørgsmål

Hvilke slags fejl retter den?

Manglende kolonner mellem et feltnavn og dets type (den hyppigste fejl), duplikerede felter i den samme type, manglende eller overskydende afsluttende tuborgklammer, løse kommaer i input-objects og uparrede firkantede parenteser omkring list-typer. Den finder ikke på felter, types eller arguments — den reparerer kun syntaks, som parseren afviser.

Ændrer den mine feltnavne eller types?

Nej. Feltnavne, scalar-navne, type-navne, beskrivelser og directives sendes igennem uændret. Fixeren rører kun strukturel syntaks — de navne du skrev forbliver præcis som du skrev dem.

Understøtter den brugerdefinerede scalars og directives?

Ja. scalar Money, scalar DateTime, brugerdefinerede @auth- eller @deprecated-directives — alt bevares. Fixeren validerer ikke at en brugerdefineret scalar er registreret på din server, kun at SDL'en parser.

Hvad med federerede subgraphs (Apollo Federation)?

Federation-directives (@key, @external, @requires) sendes igennem uændret. Fixeren er rent et syntaks-reparationslag — den kører ikke federation-composition. Kør den ryddede output gennem dit registrys composition-trin bagefter.

Sendes mit skema til en server?

Ja — fixet kører i en lille backend-tjeneste, fordi sprogmodellen er hostet der. Vi logger ikke inputtet, og svaret returneres direkte til din browser. Der er en grænse på 64 KB pr. request.

Producerer den altid et parsable skema?

For de almindelige fejl beskrevet ovenfor, ja. Hvis inputtet mangler så meget struktur, at den oprindelige hensigt er tvetydig (for eksempel en hel type-krop slettet), kan outputtet flagge en fejl frem for at gætte. I så fald lap det åbenlyse hul i hånden og kør resultatet igennem igen.

Andre GraphQL-værktøjer

Reparation er en del af et GraphQL-flow. Disse værktøjer dækker resten: