ID
est un type scalaire décrit dans la spécification GraphQL
(ébauche de travail octobre 2016) :
Votre remarque
est aligné sur la spécification relative à la coercition des résultats :
et la coercition d'entrée :
Comment dois-je gérer cette valeur dans le client ?
- Lorsque vous travaillez avec
ID
résultats , traitez-les comme des chaînes. - Lorsque vous utilisez
ID
entrées (dans les variables GraphQL ou les paramètres d'entrée pour les mutations ou les requêtes), vous pouvez utiliser des entiers ou des chaînes.
Dois-je toujours le convertir en entier dès que je le reçois de GraphQL ?
Cela dépend fortement de votre application. Il n'y a pas de règle générale qui dicte un "oui" ou un "non" clair ici.
Dois-je modifier mon code de séquençage pour stocker la valeur de l'ID sous forme de chaîne ?
Non, ce n'est pas obligatoire.
La spécification GraphQL concernant l'ID
le type ne couvre pas la façon dont vous stockez les identifiants, uniquement la manière dont un serveur GraphQL est censé traiter ID
entrée et sortie. C'est à la couche GraphQL d'assurer ce comportement. La façon dont les identifiants sont gérés dans le stockage réel dépend de la couche de stockage.
Existe-t-il une manière correcte de procéder lors de l'utilisation d'ID GraphQL comme celui-ci ?
J'espère que les réponses ci-dessus répondent également à cette question :)