Direkt zum Inhalt
Bild
a-opensenselabs-banner.jpg

GraphQL: Abfragen, Mutationen und mehr verstehen

AI-Translated
article publisher

pritish.k

Technologie

In meinem vorherigen Artikel Erste Schritte mit Drupal GraphQL: Eine Anleitung für Anfänger haben wir die Grundlagen von GraphQL kennengelernt, warum es eine bessere Lösung als RESTful API ist und was es für Drupal bedeutet.

Das Contrib-Modul Graphql in Drupal bietet uns einen Voyager und einen Explorer, die uns den Einstieg erleichtern. Der Explorer kann verwendet werden, um das Schreiben von Abfragen zu erlernen, um das abzurufen, was wir wollen.

Was ist GraphQL?

Es ist eine Abfragesprache für APIs und eine Laufzeitumgebung, um diese Abfragen mit Ihren vorhandenen Daten zu erfüllen. Es bietet eine vollständige und verständliche Beschreibung der Daten in Ihrer API und gibt den Clients die Möglichkeit, genau das anzufordern, was sie benötigen, was zu einem leistungsstarken Entwicklerwerkzeug führt.

Wenn Sie mit GraphQL fortfahren, können Sie zwei Arten von Operationen damit ausführen:

GraphQL hat den Entwicklern sicherlich die Kontrolle über das Abrufen der Daten gegeben.
  • Abfragen - Dies ist der Prozess des Abrufens von Ergebnissen vom GraphQL-Server. Dies würde das Abrufen von Entitäten, Feldern, das Übergeben von Argumenten, das Definieren von wiederverwendbaren Fragmenten usw. umfassen.
     
  • Mutationen - Dies ist der Prozess des Schreibens von Operationen auf dem GraphQL-Server. Es würde dem Benutzer ermöglichen, die serverseitigen Daten zu ändern. Es ist ähnlich wie das Senden von POST-Anfragen in REST. Jede geschriebene Operation muss über eine Mutation gesendet werden.

Abfragen in GraphQL erstellen

  • Felder - Die häufigste Abfrage dreht sich um das Abrufen bestimmter Felder aus Objekten. GraphQL gibt die genaue Anzahl der Felder zurück, nach denen gefragt wird. Die Struktur der Abfrage und des Ergebnisses bleiben gleich. Dies liegt daran, dass Sie genau das zurückbekommen, was Sie erwarten.

    Im folgenden Beispiel erstellen wir eine Abfrage, um die Anzahl der Knoten und Benutzer abzurufen. Wir sehen, dass die Struktur der Abfrage und des Ergebnisses gleich sind.
    {
     nodeQuery {
       count
     }
     userQuery{
       count
     }
    }
    GraphQL-Abfrage mit Argumenten links und Ergebnissen rechts
  • Argumente - GraphQL bietet die Möglichkeit, die Parameter oder Argumente beim Senden von Anfragen an den Server zu übergeben. Dieses Argument in Drupal kann auf verschiedene Arten verwendet werden. Das Argument kann eine NID eines Knotens sein.

    In den folgenden Beispielen haben wir die "Benutzer-ID" und die "NID" als Parameter verwendet.

    query {
    userById(id: "1", language: en) {
    name
    roles {
    targetId
    }
    }
    }
    
    {
    nodeById(id: "18", language: en) {
    title
    created
    
    }
    }
    GraphQL-Abfrage mit Argumenten links und Ergebnissen rechts
  • Aliase - Aliase werden verwendet, um dieselben Felder vom Server anzufordern, indem verschiedene Argumente übergeben werden. Dies führt zu redundanten Ergebnissen. Aliase in GraphQL helfen uns, das Ergebnis eines Feldes umzubenennen. Dies hilft uns, Konflikte zu vermeiden, da der Feldname gleich ist.
    {
    alias1: nodeById(id: "1") {
    title
    }
    alias2: nodeById(id: "2") {
    title
    }
    }
    Im obigen Beispiel sehen wir, dass wir die Ergebnisse nur von einem der Knotendaten erhalten. Wenn wir Aliase verwenden, gibt GraphQL sie als zwei verschiedene Daten zurück.GraphQL-Abfragen mit Alias links und Ergebnissen rechts
  • Fragmente - Fragmente in GraphQL werden verwendet, um die wiederverwendbaren Komponenten zu definieren. Wir können eine Reihe von Feldern erstellen und sie bei Bedarf in den Abfragen verwenden. Dies hilft, große Teile von Abfragen und Datenanforderungen in kleinere Teile zu konvertieren.
     
  • Variablen - In den obigen Beispielen haben wir die Abfrageparameter direkt in die Abfrage übergeben. Wie im obigen Fall haben wir die ID - 18 übergeben. Anstatt die Argumente direkt in die Abfragezeichenfolge zu übergeben, können wir Variablen verwenden, um Argumente zu übergeben.

    Die Verwendung von Variablen in den Abfragen besteht hauptsächlich aus drei Schritten:
    query getArticle($nid: String! = "18") {
    nodeById(id: $nid, language: en) {
    title
    created
    nid
    uid{
    entity {
    name
    }
    }
    }
    }
    GraphQL-Abfragen mit Variablen links und Ergebnissen rechts
  • Mutationen - Mutationen in GraphQL ähneln POST- oder PUT-Anfragen in der REST-API. Im Wesentlichen ermöglicht es uns, die serverseitigen Daten zu ändern. Um diese Funktion in GraphQL zu verwenden, müssen wir jedoch ein Contrib-Modul verwenden, Drupal GraphQL Mutations. Obwohl sich das Modul derzeit in der Entwicklungsphase befindet, bietet es die Möglichkeit zum Erstellen, Aktualisieren und Löschen von Entitäten.

Die besprochenen GraphQL-Abfragen können Ihnen helfen, Daten vom Drupal-Server abzurufen und sie nach Bedarf zu verwenden. Es hat den Frontend-Entwicklern sicherlich die Kontrolle über das Abrufen der Daten gegeben. Sie können die Abfragen verwenden, um Ihre eigene entkoppelte App zu erstellen.

Abonnieren

Ready to start your digital transformation journey with us?

Related Blogs

KI-Fairness: Ein tiefer Einblick in Microsofts Fairlearn Toolkit




Assessing AI Fairness Eliminating Biase With MS Fairlearn Toolkit OpenSense Labs

Künstliche Intelligenz (KI) hat branchenübergreifend, insbesondere im Finanzdienstleistungssektor, das Spiel verändert. Von…

API-Dokumentationstool: Die 10 besten Tools für 2025

APO Documentation Tools For 2025 OpenSense Labs

Eine Google-Suche nach „Bestes API-Dokumentationstool“ liefert zahlreiche Ergebnisse. Die wachsende Anzahl von API…

6 verbreitete Irrtümer über Softwaretests – widerlegt

Common%20Misconceptions%20about%20Testing.png

Eine einwandfreie Produktauslieferung erfordert eine perfekte Kombination aus Entwicklungs- und Testaufwand. Das Testen…