Custom Endpoints
Custom EndpointsBenutzerdefinierte Endpoints

Benutzerdefinierte Endpoints

Included in the “Power Extensions” bundle

Erstelle benutzerdefinierte Schemas mit benutzerdefinierten Zugriffsregeln fĂĽr verschiedene Benutzer, jeweils verfĂĽgbar unter einem eigenen Endpoint.

Beschreibung

Ein GraphQL-Server stellt normalerweise einen einzigen Endpoint zum Abrufen und Senden von Daten bereit.

Zusätzlich zur Unterstützung des einzelnen Endpoints ermöglicht Gato GraphQL auch die Erstellung benutzerdefinierter Endpoints, die verschiedene Schema-Konfigurationen bereitstellen, um die Anforderungen unterschiedlicher Zielgruppen zu erfüllen, wie z. B.:

  • Ein bestimmter Client oder Benutzer
  • Eine Gruppe von Benutzern mit erweitertem Zugriff auf Funktionen (z. B. PRO-Benutzer)
  • Eine der verschiedenen Anwendungen, wie eine mobile App oder eine Website
  • APIs von Drittanbietern
  • Alle weiteren Anwendungsfälle

Der benutzerdefinierte Endpoint ist ein Custom Post Type, und sein Permalink ist der Endpoint. Ein Endpoint mit dem Titel "My endpoint" und dem Slug my-endpoint ist unter /graphql/my-endpoint/ erreichbar.

Editor fĂĽr benutzerdefinierte Endpoints

Clients

Jeder benutzerdefinierte Endpoint verfĂĽgt ĂĽber eigene Clients zur Interaktion:

âś… Ein GraphiQL-Client, verfĂĽgbar unter dem Endpoint + ?view=graphiql (z. B.: /graphql/my-endpoint/?view=graphiql).

Das Modul GraphiQL for Custom Endpoints muss aktiviert sein.

GraphiQL-Client des benutzerdefinierten Endpoints

âś… Ein Interactive-Schema-Client, verfĂĽgbar unter dem Endpoint + ?view=schema (z. B.: /graphql/my-endpoint/?view=schema).

Das Modul Interactive Schema for Custom Endpoints muss aktiviert sein.

Interactive Schema des benutzerdefinierten Endpoints

Einen benutzerdefinierten Endpoint erstellen

Wenn du auf den Link „Benutzerdefinierte Endpoints" im Menü klickst, wird die Liste aller erstellten benutzerdefinierten Endpoints angezeigt:

Benutzerdefinierte Endpoints im Admin-Bereich
Benutzerdefinierte Endpoints im Admin-Bereich

Ein benutzerdefinierter Endpoint ist ein Custom Post Type (CPT). Um einen neuen benutzerdefinierten Endpoint zu erstellen, klicke auf die Schaltfläche „Add New GraphQL endpoint", woraufhin sich der WordPress-Editor öffnet:

Erstellen eines neuen benutzerdefinierten Endpoints

Wenn der benutzerdefinierte Endpoint fertig ist, veröffentliche ihn – sein Permalink wird dann zur Endpoint-URL. Links zum Endpoint (sowie zur Quelle und den Clients) werden im Seitenleisten-Panel „Custom Endpoint Overview" angezeigt:

Custom Endpoint Overview

Wenn du ?view=source an den Permalink anhängst, wird die Konfiguration des Endpoints angezeigt (sofern der Benutzer eingeloggt ist und seine Rolle den Zugriff erlaubt):

Quelle des benutzerdefinierten Endpoints

Standardmäßig hat der benutzerdefinierte Endpoint den Pfad /graphql/, und dieser Wert ist über die Einstellungen konfigurierbar:

Einstellungen fĂĽr benutzerdefinierte Endpoints
Einstellungen fĂĽr benutzerdefinierte Endpoints

Schema-Konfiguration

Die Definition der Elemente, die das Schema enthält, und des Zugriffs, den Benutzer darauf haben, wird in der Schema-Konfiguration festgelegt.

Wir müssen also eine Schema-Konfiguration erstellen und diese dann aus dem Dropdown auswählen:

Schema-Konfiguration auswählen

Benutzerdefinierte Endpoints nach Kategorien organisieren

Im Seitenleisten-Panel „Endpoint categories" können wir Kategorien hinzufügen, um den benutzerdefinierten Endpoint besser zu verwalten:

Endpoint-Kategorien beim Bearbeiten eines benutzerdefinierten Endpoints

Zum Beispiel können wir Kategorien erstellen, um Endpoints nach Client, Anwendung oder anderen benötigten Informationen zu verwalten:

Liste der Endpoint-Kategorien

In der Liste der benutzerdefinierten Endpoints können wir die jeweiligen Kategorien einsehen. Wenn du auf einen Kategorie-Link klickst oder den Filter oben verwendest, werden nur alle Einträge dieser Kategorie angezeigt:

Liste der benutzerdefinierten Endpoints mit ihren Kategorien

Benutzerdefinierte Endpoints nach Kategorie filtern

Private Endpoints

Wenn du den Status des benutzerdefinierten Endpoints auf private setzt, kann nur der Admin-Benutzer auf den Endpoint zugreifen. Dadurch wird verhindert, dass unsere Daten versehentlich mit Benutzern geteilt werden, die keinen Zugriff darauf haben sollten.

Zum Beispiel können wir private benutzerdefinierte Endpoints erstellen, die bei der Verwaltung der Anwendung helfen, z. B. zum Abrufen von Daten für Berichte mit unseren Metriken.

Privater benutzerdefinierter Endpoint

PasswortgeschĂĽtzte Endpoints

Wenn wir einen benutzerdefinierten Endpoint für einen bestimmten Client erstellen, können wir diesem ein Passwort zuweisen, um eine zusätzliche Sicherheitsebene bereitzustellen, sodass nur dieser Client auf den Endpoint zugreifen kann.

PasswortgeschĂĽtzter benutzerdefinierter Endpoint

Beim ersten Zugriff auf einen passwortgeschĂĽtzten Endpoint (egal ob direkt auf den Endpoint oder ĂĽber seine GraphiQL- oder Interactive-Schema-Clients) erscheint ein Bildschirm, der nach dem Passwort fragt:

PasswortgeschĂĽtzter benutzerdefinierter Endpoint: Erster Zugriff

Erst nachdem das Passwort eingegeben und bestätigt wurde, erhält der Benutzer Zugriff auf den gewünschten Endpoint oder Client:

PasswortgeschĂĽtzter benutzerdefinierter Endpoint: Nach der Autorisierung