Mysql
 sql >> Database >  >> RDS >> Mysql

Devo gestire un ID GraphQL come una stringa sul client?

ID è un tipo scalare descritto nella specifica GraphQL (bozza di lavoro ottobre 2016):

La tua osservazione

è in linea con la specifica sulla coercizione dei risultati :

e coercizione di input :

Come devo gestire questo valore nel cliente?

  • Quando si lavora con ID risultati , trattali come stringhe.
  • Quando si utilizza ID ingressi (nelle variabili GraphQL o parametri di input per mutazioni o query), puoi utilizzare numeri interi o stringhe.

Dovrei sempre convertirlo in un numero intero non appena lo ottengo da GraphQL?

Dipende molto dalla tua applicazione. Non esiste una regola generale che imponga un chiaro "sì" o "no" qui.

Devo modificare il mio codice di sequelize per memorizzare il valore dell'ID come stringa?

No, non è obbligatorio.

La specifica GraphQL sull'ID il tipo non copre il modo in cui conservi gli ID, solo il modo in cui un server GraphQL dovrebbe trattare ID ingresso e uscita. Spetta al livello GraphQL garantire questo comportamento. Il modo in cui gli ID vengono gestiti nello spazio di archiviazione effettivo dipende dal livello di archiviazione.

C'è un modo corretto di procedere quando si utilizzano ID GraphQL in questo modo?

Spero che le risposte di cui sopra rispondano anche a questa domanda :)