1. Zuhause
  2. Dokumente
  3. Entwicklerdokumentation
  4. API
  5. GraphQL-Grundlagen

GraphQL-Grundlagen

Einführung

GraphQL ist eine Abfragesprache, die wir für unsere API verwenden. Der Vorteil der Verwendung von GraphQL gegenüber anderen Methoden besteht darin, dass wir nur die Daten anfordern können, die wir benötigen. Alle Anforderungen werden über einen einzelnen Endpunkt gestellt, indem eine Abfragezeichenfolge zusammen mit Variablen gesendet wird, um genau anzugeben, welche Daten erforderlich sind.

Abfragen und Mutationen

Anfragen werden in zwei Typen unterteilt: Abfragen und Mutationen. Konventionell werden Abfragen zum Anfordern von Daten und Mutationen zum Schreiben von Daten verwendet. Schauen wir uns ein Beispiel für eine Abfrage an, um zu sehen, wie Abfragen und Mutationen strukturiert sind.

{user {xcoobee_id user_type first_name last_name}}

In diesem Beispiel fragen wir das Benutzerfeld ab und fordern vom Benutzer verschiedene Datentypen an. Weitere Informationen zu GraphQL finden Sie in der Dokumentation Hier.

XcooBee GraphQL

Es gibt bestimmte Funktionen unserer GraphQL-Implementierung, die in der allgemeinen Dokumentation nicht enthalten sind. Mal sehen, was diese Funktionen sind.

Cursor

Cursor sind undurchsichtige Objektreferenzen, mit denen auf Dinge wie Bienen, Benutzer und Transaktionen verwiesen werden kann. Diese werden häufig zur Paginierung verwendet.

Verbindungen

Wir verwenden eine Verbindung, wenn wir etwas anderes als ein einzelnes Objekt zurückgeben möchten. Wenn wir beispielsweise mehrere Benutzer aus der Benutzerabfrage zurückgeben möchten, fordern wir das Datenfeld von an userConnection mit den Datentypen, die wir von diesen Benutzern benötigen. Wir können auch Paginierungsinformationen von Verbindungen erhalten. Das Seiteninfo Feld gibt ein zurück end_cursor und has_next_page.

Ein end_cursor zeigt auf das letzte Objekt auf einer Seite. Es kann an den Parameter after übergeben werden, um die nächste Datenseite abzurufen.
Hinweis: Dieser Cursor kann nur zur Paginierung verwendet werden.

has_next_page lässt Sie wissen, ob eine andere Seite angefordert werden muss.

Möglicherweise wird auch eine Benutzerverbindung zurückgegeben komplette Anzahl Hier erfahren Sie, wie viele Objekte von einer Abfrage zurückgegeben werden können. Auf diese Weise können Sie die Anzahl der Seiten bestimmen, ohne sich darauf verlassen zu müssen has_next_page.

Beispiel

Wir können anhand eines Beispiels einer Abfrage, die beide verwendet, sehen, wie Cursor und Verbindungen funktionieren.

Abfragesalden ($user_cursor: String! $first: Int) {Salden (user_cursor: $user_cursor, first: $first) {Daten {Typ Währungsdatum} page_info {has_next_page}}}

In diesem Beispiel verwenden wir user_cursor um auf den Benutzer zu verweisen, dessen Guthaben wir anfordern.

Wir fordern das Datenfeld mit den gesuchten Feldern an: Art, Währung, und Datum. Wir fordern auch Informationen darüber an, ob eine andere Seite abgerufen werden muss.

Zum Beispiel, wenn wir bestanden haben 5 In das erste Argument würden wir bis zu fünf Salden zurückgeben. Wenn ein Benutzer vier Guthaben hätte, würden die ersten vier Guthaben zurückgegeben und has_next_page wäre falsch. Wenn ein Benutzer sechs Guthaben hätte, würden stattdessen fünf Guthaben zurückgegeben, und has_next_page würde wahr zurückgeben.

Fandest du diesen Artikel hilfreich? Ja 1 Nein 2

Wie können wir helfen?