Benutzerdefinierte Endpoints
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.

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.

âś… 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.

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

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:

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:

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):

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

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:

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

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

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:


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.

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.

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:

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