ID
är en skalär typ som beskrivs i GraphQL-specifikationen
(arbetsutkast oktober 2016):
Din observation
är i linje med specifikationen om resultattvång :
och ingångstvång :
Hur ska jag hantera detta värde i klienten?
- När du arbetar med
ID
resultat , behandla dem som strängar. - När du använder
ID
ingångar (i GraphQL-variabler eller inmatningsparametrar för mutationer eller frågor) kan du antingen använda heltal eller strängar.
Ska jag alltid konvertera det till ett heltal så snart jag får det från GraphQL?
Det beror mycket på din applikation. Det finns ingen generell regel som dikterar ett tydligt "ja" eller "nej" här.
Ska jag ändra min uppföljningskod för att lagra ID-värdet som en sträng?
Nej, det krävs inte.
GraphQL-specifikationen om ID
typ täcker inte hur du lagrar ID, bara hur en GraphQL-server förväntas behandla ID
ingång och utgång. Det är upp till GraphQL-lagret att säkerställa detta beteende. Hur id hanteras i själva lagringen är upp till lagringslagret.
Finns det ett korrekt sätt att gå tillväga när du använder GraphQL-ID som detta?
Jag hoppas att ovanstående svar också besvarar denna fråga :)