ID
é um tipo escalar descrito na especificação do GraphQL
(rascunho de trabalho de outubro de 2016):Sua observação
está alinhado com a especificação sobre coerção de resultados :
e coerção de entrada :
Como devo lidar com esse valor no cliente?
- Ao trabalhar com
ID
resultados , trate-os como strings. - Ao usar
ID
entradas (em variáveis do GraphQL ou parâmetros de entrada para mutações ou consultas), você pode usar inteiros ou strings.
Devo sempre convertê-lo em um número inteiro assim que o obtiver do GraphQL?
Isso depende muito da sua aplicação. Não existe uma regra geral que dite um claro "sim" ou "não" aqui.
Devo modificar meu código de sequência para armazenar o valor de ID como uma string?
Não, isso não é necessário.
A especificação do GraphQL sobre o
ID
tipo não cobre como você armazena os ids, apenas como um servidor GraphQL deve tratar ID
entrada e saída. Cabe à camada GraphQL garantir esse comportamento. Como os ids são tratados no armazenamento real depende da camada de armazenamento. Existe uma maneira correta de proceder ao usar IDs do GraphQL como este?
Espero que as respostas acima também respondam a essa pergunta :)