ID
es un tipo escalar descrito en la especificación GraphQL
(borrador de trabajo de octubre de 2016):
Tu observación
está alineado con la especificación sobre coerción de resultados :
y coerción de entrada :
¿Cómo debo manejar este valor en el cliente?
- Cuando se trabaja con
ID
resultados , trátelos como cadenas. - Al usar
ID
entradas (en variables de GraphQL o parámetros de entrada para mutaciones o consultas), puede usar números enteros o cadenas.
¿Debería convertirlo siempre a un número entero tan pronto como lo obtenga de GraphQL?
Eso depende en gran medida de su aplicación. No existe una regla general que dicte un claro "sí" o "no" aquí.
¿Debo modificar mi código de secuencia para almacenar el valor de ID como una cadena?
No, eso no es obligatorio.
La especificación de GraphQL sobre el ID
tipo no cubre cómo almacena los id, solo cómo se espera que un servidor GraphQL trate ID
entrada y salida. Depende de la capa GraphQL garantizar este comportamiento. La forma en que se manejan las identificaciones en el almacenamiento real depende de la capa de almacenamiento.
¿Existe una forma correcta de proceder cuando se usan ID de GraphQL como esta?
Espero que las respuestas anteriores también respondan a esta pregunta :)