sql >> Base de Datos >  >> RDS >> Mysql

¿Debo manejar una ID de GraphQL como una cadena en el cliente?

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 :)