Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Soll ich eine GraphQL-ID als Zeichenfolge auf dem Client behandeln?

ID ist ein Skalartyp, der in der GraphQL-Spezifikation beschrieben wird (Arbeitsentwurf Oktober 2016):

Ihre Beobachtung

ist an der Spezifikation zur Ergebniszwang ausgerichtet :

und Eingabezwang :

Wie soll ich mit diesem Wert im Client umgehen?

  • Bei der Arbeit mit ID Ergebnisse , behandeln Sie sie als Strings.
  • Bei Verwendung von ID Eingaben (in GraphQL-Variablen oder Eingabeparametern für Mutationen oder Abfragen) können Sie entweder Ganzzahlen oder Zeichenfolgen verwenden.

Soll ich es immer in eine ganze Zahl konvertieren, sobald ich es von GraphQL bekomme?

Das hängt stark von Ihrer Anwendung ab. Hier gibt es keine allgemeine Regel, die ein klares „Ja“ oder „Nein“ vorschreibt.

Sollte ich meinen Folgecode ändern, um den ID-Wert als Zeichenfolge zu speichern?

Nein, das ist nicht erforderlich.

Die GraphQL-Spezifikation über die ID Typ deckt nicht ab, wie Sie speichern die IDs, nur wie ein GraphQL-Server ID behandeln soll Eingang und Ausgang. Es liegt an der GraphQL-Schicht, dieses Verhalten sicherzustellen. Wie IDs im tatsächlichen Speicher gehandhabt werden, hängt von der Speicherschicht ab.

Gibt es eine korrekte Vorgehensweise bei der Verwendung solcher GraphQL-IDs?

Ich hoffe, die obigen Antworten beantworten auch diese Frage :)