Eine API erstellen
Eine API erstellenEine API-Hierarchie erstellen

Eine API-Hierarchie erstellen

Benutzerdefinierte Endpoints und persistierte Queries können in einer Hierarchie organisiert werden. Dies wird erreicht, wenn sie ein übergeordnetes Element deklarieren, wodurch ihre Endpoint-Pfade den Endpoint-Pfad des übergeordneten Elements erweitern.

Zum Beispiel können wir diese Hierarchie erstellen:

  • Übergeordnete persistierte Query: /graphql-query/posts/
  • Untergeordnete persistierte Query: /graphql-query/posts/english/
  • Untergeordnete persistierte Query: /graphql-query/posts/french/

Die Anzahl der Ebenen ist unbegrenzt, daher können wir auch folgendes erstellen:

  • /graphql-query/posts/
  • /graphql-query/posts/mobile-app/
  • /graphql-query/posts/mobile-app/english/
  • /graphql-query/posts/mobile-app/french/
  • /graphql-query/posts/website/
  • /graphql-query/posts/website/english/
  • /graphql-query/posts/website/french/

Schau dir die Anleitung Strategien für API-Hierarchien an, um mögliche Konfigurationen zu sehen.

Vererbung von Eigenschaften

Untergeordnete benutzerdefinierte Endpoints und persistierte Queries erben Eigenschaften vom übergeordneten Element.

Benutzerdefinierte Endpoints und persistierte Queries

Untergeordnete benutzerdefinierte Endpoints und persistierte Queries erben die Schema-Konfiguration des übergeordneten Elements.

Nur persistierte Queries

Untergeordnete persistierte Queries erben außerdem die GraphQL-Query und die Variablen des übergeordneten Elements. Die Werte der Variablen können vom untergeordneten Element, Variable für Variable, überschrieben werden.

Wenn das übergeordnete Element zum Beispiel diese Variablen deklariert:

{
  "limit": 5,
  "offset": 0
}

Und das untergeordnete Element diese Variablen deklariert:

{
  "limit": 10
}

Dann sind die berechneten Variablen für das untergeordnete Element:

{
  "limit": 10,
  "offset": 0
}

Eine API-Hierarchie erstellen

Im benutzerdefinierten Endpoint oder in der persistierten Query gibt es in den Dokumenteinstellungen einen Abschnitt Seitenattribute mit einem Dropdown aller anderen Entitäten, um eine davon als übergeordnetes Element auszuwählen:

API-Vererbung

Persistierte Queries

Wenn ein übergeordnetes Element ausgewählt wird, bietet die persistierte Query eine neue Option an: "Inherit query from ancestor(s)?"

Setze diese Option auf Ja, damit die untergeordnete persistierte Query die GraphQL-Query des übergeordneten Elements erbt:

API-Vererbung

Beispiel

Diese persistierte Query definiert ihre GraphQL-Query und deklariert die Variable $limit mit dem Wert 1:

Übergeordnete persistierte Query

Eine untergeordnete persistierte Query erweitert sie, erbt die GraphQL-Query und überschreibt den Wert der Variable $limit auf 2:

Untergeordnete persistierte Query