Lim inn den ødelagte GraphQL-en din til venstre og klikk "Fix GraphQL!!" for å reparere denLim inn ødelagt GraphQL

Hva er GraphQL Fixer?

Hvis du noen gang har limt inn et GraphQL-skjema i et verktøy og fått tilbake Syntax Error: Expected ":", found Name, eller sett en Schema Registry-diff feile fordi noen glemte et kolon etter et feltnavn, kjenner du smerten. SDL er ubarmhjertig — ett manglende tegnsettingstegn og hele dokumentet nekter å parse. Dette verktøyet reparerer de vanlige feilene: manglende kolon etter feltnavn, dupliserte felter inni en type, ubalanserte krøllparenteser, løse komma, feilskrevne scalar-referanser. Lim det ødelagte skjemaet inn i editoren til venstre, klikk på den grønne Fix GraphQL!!-knappen, og en ren SDL kommer tilbake til høyre.

Reparasjonen følger GraphQL October 2021-spesifikasjonen for type-, field- og argument-grammatikk. Grammatikken er liten men streng — se den offisielle Schemas and Types-introduksjonen for hele regelsettet. Fixeren normaliserer strukturen uten å røre feltnavnene, typene eller directivene dine, så diffen mot registry-en din forblir ren. Vil du dobbeltsjekke utdataen, kjør den gjennom validatoren i Apollo Server-skjemadokumentasjonen eller send den gjennom referanse-parseren som følger med graphql-js.

Skjemaet sendes til en liten AI-tjeneste som har fått beskjed om kun å reparere syntaks — aldri finne på, gi nytt navn til eller fjerne feltene dine. Den reparerte SDL-en kommer tilbake som ren tekst, klar til å limes inn i prosjektet ditt. Ingenting logges hos oss.

Slik bruker du GraphQL Fixer

Tre steg. Hvert steg bruker de faktiske knappene på siden.

1

Lim inn ødelagt SDL eller last inn eksempelet

Slipp den ødelagte GraphQL SDL-en i editoren til venstre. Klikk Eksempel-GraphQL for å laste inn et bevisst ødelagt Order/Customer-skjema med samme typer feil som dette verktøyet håndterer — manglende kolon, et duplisert felt, en manglende avsluttende krøllparentes.

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

Fixeren finner ikke på felter du ikke skrev. Den reparerer kun syntaks som GraphQL-grammatikken avviser. For navnekonvensjoner og design oppå gyldig syntaks er GraphQL best-practices-guiden verdt en lesning.

2

Klikk Fix GraphQL!!

Trykk på den grønne knappen. Fixeren leser den ødelagte SDL-en, identifiserer struktur- og tegnsettingsfeilene og skriver om dokumentet. En lasteindikator vises mens den jobber. Begge editorene bruker SDL-syntaksfremheving, så du kan sammenligne før og etter side om side.

3

Kopier det ryddede skjemaet

Høyre panel viser den reparerte SDL-en. Feltnavn, typer, beskrivelser og directives er uendret — bare syntaksfeilene er fikset. Kopier utdataen og lim den inn i schema.graphql-filen eller registry-en din.

Når du faktisk ville brukt dette

Rydde i håndredigerte skjemaer

Redigerte en stor schema.graphql for hånd og glapp et kolon mellom placedAt og DateTime!? Feilmeldingen sier bare "Expected :" med et linjenummer. Fixeren legger kolonet tilbake uten at du må jakte felt for felt.

Fikse AI-generert SDL

Spurte en LLM om å skissere et skjema for en ny feature og fikk tilbake et duplisert felt, et komma der det skulle vært en krøllparentes og en uparret {. Klassisk feiltype. Lim inn, klikk Fix, få tilbake et parsbart skjema uten å skrive om.

Hente skjemaer fra logger

Trakk et SDL-fragment ut av en loggrad der det var pakket inn i escape-tegn eller hadde mistet linjeskiftene? Fixeren normaliserer strukturen så det gjenopprettede skjemaet faktisk parser på nytt.

Pre-flight for Schema Registry

Før du pusher en endring til et federert registry, kjør SDL-en gjennom fixeren for å fange tegnsettingsfeilene som ville blokkert diffen. Sparer deg en runde der registry-en avviser opplastingen.

Vanlige spørsmål

Hvilke typer feil reparerer den?

Manglende kolon mellom et feltnavn og typen dets (den vanligste feilen), dupliserte felter i samme type, manglende eller overflødige avsluttende krøllparenteser, løse komma i input-objects og uparrede hakeparenteser rundt list-typer. Den finner ikke på felter, typer eller arguments — den reparerer kun syntaks som parseren avviser.

Endrer den feltnavnene eller typene mine?

Nei. Feltnavn, scalar-navn, type-navn, beskrivelser og directives sendes gjennom uendret. Fixeren rører bare strukturell syntaks — navnene du skrev forblir nøyaktig som du skrev dem.

Støtter den egendefinerte scalars og directives?

Ja. scalar Money, scalar DateTime, egendefinerte @auth- eller @deprecated-directives — alt bevares. Fixeren validerer ikke at en egendefinert scalar er registrert på serveren din, bare at SDL-en parser.

Hva med federerte subgraphs (Apollo Federation)?

Federation-directives (@key, @external, @requires) sendes gjennom uendret. Fixeren er rent et syntaksreparasjonslag — den kjører ikke federation-composition. Kjør den ryddede utdataen gjennom registry-ens composition-steg etterpå.

Sendes skjemaet mitt til en server?

Ja — fiksen kjører i en liten backend-tjeneste fordi språkmodellen er hostet der. Vi logger ikke inputtet, og svaret returneres rett tilbake til nettleseren din. Det er en grense på 64 KB per request.

Lager den alltid et parsbart skjema?

For de vanlige feilene beskrevet over, ja. Hvis inputtet mangler så mye struktur at den opprinnelige intensjonen er flertydig (for eksempel en hel type-kropp slettet), kan utdataen flagge en feil i stedet for å gjette. Tett da det åpenbare hullet for hånd og kjør resultatet gjennom på nytt.

Andre GraphQL-verktøy

Reparasjon er én del av en GraphQL-arbeidsflyt. Disse verktøyene dekker resten: