Variablen
Um beim Arbeiten mit GraphQL nicht alle Werte fest zu codieren, bietet der API Explorer einen Variablen-Bereich, in dem ein JSON-Objekt hinzugefügt werden kann. Die Schlüssel der obersten Ebene des JSON-Objekts werden als Variablen verfügbar gemacht, deren Namen durch ein Dollarzeichen ($KEY_NAME) gekennzeichnet sind. Dies ermöglicht eine viel angenehmere Entwicklungserfahrung beim Schreiben und Testen dynamischer Abfragen, Mutationen und Abonnements.
GraphQL-Mutation
Abschnitt betitelt „GraphQL-Mutation“query MyQuery1 ($domain: String) { students( filter: { email: { contains: $domain } } ) { items { id firstName email } }}Variablen
Abschnitt betitelt „Variablen“{ "domain": "example.com"}
Variablen deklarieren
Abschnitt betitelt „Variablen deklarieren“Einige dynamische Eingaben müssen möglicherweise hinzugefügt werden, wenn Sie eine Anfrage an Ihren GraphQL-Server senden, während das Operationsdokument gleich bleibt. Dies sind die Variablen Ihrer Operation. Variablen müssen typisierte Argumente sein, die in der GraphQL-Operation deklariert werden. Da GraphQL statisch typisiert ist, kann validiert werden, ob Sie die richtigen Variablen übergeben.
Die folgenden zwei Beispiele würden zusammenarbeiten, um eine Liste von Benutzern mit dem Status “Aktiv” abzufragen, deren Namen mit “M” beginnen.
GraphQL-Mutation
Abschnitt betitelt „GraphQL-Mutation“query MyQuery1($name_start: String, $status: Boolean) { students( filter: { firstName: { starts_with: $name_start }, isActive: { equals: $status } } ) { items { id firstName email } }}Variablen
Abschnitt betitelt „Variablen“{ "name_start": "M", "status": true}
Typisierte Variablen deklarieren
Abschnitt betitelt „Typisierte Variablen deklarieren“Variablen sind nicht darauf beschränkt, einzelne Eingabewerte zu sein. Sie können komplexe Objekte mit jedem deklarierten Typ in einem bestimmten Arbeitsbereich sein - nativ oder benutzerdefiniert. Dies ermöglicht es, Dinge wie ganze Filter, Sortierungen und viele andere dynamisch als Variablen zu übergeben.
GraphQL-Mutation
Abschnitt betitelt „GraphQL-Mutation“query MyQuery ( $filter: StudentsFilter $first: Int $orderBy: StudentsOrderBy) { students( filter: $filter first: $first orderBy: $orderBy ) { count items { id firstName lastName age } }}Variablen
Abschnitt betitelt „Variablen“{ "filter": { "email": { "contains": "example" }, "firstName": { "starts_with": "M" } }, "orderBy": { "lastName": "ASC"}, "first": 2}