GraphQL Ausführen

Verwenden Sie die GraphQL Execute-Richtlinie, um eine GraphQL mit Hilfe von Unterabfragen auszuführen.

Gateway-Unterstützung

Tabelle 1. Tabelle, aus der hervorgeht, welche Gateways diese Richtlinie unterstützen, sowie die entsprechende Richtlinienversion
Gateway Richtlinienversion
DataPower® API Gateway 2.2.0.0DataPower API Gateway Version 10.0.4.0 und höher)

2.2.1.0DataPower API Gateway Version 10.5.2.0 und höher)

In diesem Abschnitt wird beschrieben, wie Sie die Richtlinie in der Benutzeroberfläche von Assembly konfigurieren. Einzelheiten zur Konfiguration der Richtlinie in Ihrer „ OpenAPI “-Quelle finden Sie unter graphql-execute.

Produktinfo

Die GraphQL Execute-Richtlinie führt eine GraphQL mit Hilfe von Unterabfragen aus. Die Richtlinie zerlegt die ursprüngliche GraphQL in verschiedene Unterabfragen, die dann auf unterschiedliche Weise verarbeitet werden können. Die GraphQL Execute-Richtlinie unterstützt die folgenden vier verschiedenen Unterabfragen als Ziele:
  1. root; enthält die zentrale GraphQL, die Sie im Backend aufrufen möchten.
  2. __introspection; enthält die Introspektionsabfrage, die lokal auf dem ' DataPower API Gateway verarbeitet werden kann, ohne dass das Backend aufgerufen werden muss.
  3. __rateLimit; enthält die Abfrage ' __rateLimit, die die verschiedenen Ratenbegrenzungsdaten angibt, die Sie erhalten möchten.
  4. __cost; enthält die Abfrage ' __cost, die die verschiedenen Kostendaten angibt, die Sie erhalten möchten. Diese Abfrage muss in dem Format vorliegen, das in der Spezifikation „ IBM “ unter GraphQL Cost Directives festgelegt ist; siehe „Introspection of Cost Analysis Results“: __cost.
Die Ziele " root, " __rateLimit und " __introspection können in beliebiger Reihenfolge oder gleichzeitig ausgeführt werden. Das Ziel " __cost kann jederzeit ausgeführt werden, wenn keine Antwortdaten erwartet werden. Wenn Antwortdaten erwartet werden, wird das " __cost nach dem " root ausgeführt, um korrekte Antwortkostendaten zu liefern. Nachdem alle Ziele ausgeführt worden sind, kombiniert die GraphQL Execute-Richtlinie alle Antworten miteinander. Damit die Antworten der einzelnen Ziele korrekt zu einer endgültigen, einzigen Antwort zusammengeführt werden können, muss die GraphQL Execute-Richtlinie alle Introspektionsarten enthalten, die mit jeder Ebene der Antwortdaten verbunden sind.
Hinweis: Wenn die Anfrage die Kopfzeile introspectionOnly enthält, führt die Richtlinie GraphQL Execute nur die mit der Introspektion zusammenhängenden Unterabfragen einschließlich _introspection, _rateLimit und _cost aus, ohne das Backend für die Stammabfrage aufzurufen. Dieses Verhalten ermöglicht es dem Gateway, Schema-Metadaten, Informationen zu Tarifgrenzen und Kostenanalyseergebnisse lokal zurückzugeben.

Eigenschaften

Die folgende Tabelle enthält die Richtlinieneigenschaften, gibt an, ob eine Eigenschaft erforderlich ist, enthält die gültigen Werte und die Standardwerte für Eingaben und gibt den jeweiligen Datentyp der Werte an.

Tabelle 2. GraphQL Richtlinieneigenschaften ausführen
Eigenschaftsbezeichnung Erforderlich Beschreibung Datentyp
Titel Nein Der Titel der Richtlinie.

Der Standardwert ist graphql-execute.

Zeichenfolge
Beschreibung Nein Eine Beschreibung der Richtlinie. Zeichenfolge
Target Nein Das Ziel für die Unterabfragen. Gültige Werte:
  • root; enthält die zentrale GraphQL, die Sie im Backend aufrufen möchten.
  • __introspection; enthält die Introspektionsabfrage, die lokal auf dem ' DataPower API Gateway verarbeitet werden kann, ohne dass das Backend aufgerufen werden muss.
  • __rateLimit; enthält die Abfrage ' __rateLimit, die die verschiedenen Ratenbegrenzungsdaten angibt, die Sie erhalten möchten.
  • __cost; enthält die Abfrage ' __cost, die die verschiedenen Kostendaten angibt, die Sie erhalten möchten. Diese Abfrage muss in dem Format vorliegen, das in der Spezifikation „ IBM “ unter GraphQL Cost Directives festgelegt ist; siehe „Introspection of Cost Analysis Results“: __cost.
Zeichenfolge