Niestandardowe Endpointy
Twórz niestandardowe schematy z niestandardowymi regułami dostępu dla różnych użytkowników, każdy dostępny pod własnym endpointem.
Opis
Serwer GraphQL normalnie udostępnia pojedynczy endpoint do pobierania i wysyłania danych.
Oprócz obsługi pojedynczego endpointu, Gato GraphQL umożliwia również tworzenie niestandardowych endpointów, zapewniając różne konfiguracje schematu dostosowane do potrzeb różnych odbiorców, takich jak:
- Określony klient lub użytkownik
- Grupa użytkowników z szerszym dostępem do funkcji (np. użytkownicy PRO)
- Jedna z wielu aplikacji, jak aplikacja mobilna lub strona internetowa
- Zewnętrzne API
- Inne przypadki
Niestandardowy endpoint jest Custom Post Type, a jego permalink stanowi endpoint. Endpoint z tytułem "My endpoint" i slugiem my-endpoint będzie dostępny pod adresem /graphql/my-endpoint/.

Klienci
Każdy niestandardowy endpoint posiada własny zestaw klientów do interakcji:
✅ Klient GraphiQL, dostępny pod endpointem + ?view=graphiql (np.: /graphql/my-endpoint/?view=graphiql).
Moduł GraphiQL for Custom Endpoints musi być włączony.

✅ Klient interaktywnego schematu, dostępny pod endpointem + ?view=schema (np.: /graphql/my-endpoint/?view=schema).
Moduł Interactive Schema for Custom Endpoints musi być włączony.

Tworzenie Niestandardowego Endpointu
Klikając na link Niestandardowe Endpointy w menu, wyświetlana jest lista wszystkich utworzonych niestandardowych endpointów:

Niestandardowy endpoint jest custom post type (CPT). Aby utworzyć nowy niestandardowy endpoint, kliknij przycisk "Add New GraphQL endpoint", który otworzy edytor WordPress:

Gdy niestandardowy endpoint będzie gotowy, opublikuj go, a jego permalink stanie się adresem URL endpointu. Linki do endpointu (oraz do źródła i klientów) są wyświetlane w panelu bocznym "Custom Endpoint Overview":

Dodając ?view=source do permalinku, zostanie wyświetlona konfiguracja endpointu (o ile użytkownik jest zalogowany i jego rola ma do niej dostęp):

Domyślnie niestandardowy endpoint ma ścieżkę /graphql/, a wartość ta jest konfigurowalna w Ustawieniach:

Konfiguracja schematu
Określenie elementów zawartych w schemacie oraz poziomu dostępu użytkowników do niego jest definiowane w konfiguracji schematu.
Dlatego musimy najpierw utworzyć konfigurację schematu, a następnie wybrać ją z listy rozwijanej:

Organizowanie Niestandardowych Endpointów według Kategorii
W panelu bocznym "Endpoint categories" możemy dodawać kategorie, aby ułatwić zarządzanie Niestandardowym Endpointem:

Na przykład możemy tworzyć kategorie do zarządzania endpointami według klienta, aplikacji lub innych wymaganych informacji:

Na liście Niestandardowych Endpointów możemy przeglądać ich kategorie, a klikając na dowolny link kategorii lub korzystając z filtru na górze, zostaną wyświetlone tylko wpisy z tej kategorii:


Prywatne endpointy
Ustawiając status Niestandardowego Endpointu jako private, endpoint będzie dostępny wyłącznie dla użytkownika administratora. Zapobiega to niezamierzonemu udostępnianiu naszych danych użytkownikom, którzy nie powinni mieć do nich dostępu.
Na przykład możemy tworzyć prywatne Niestandardowe Endpointy wspierające zarządzanie aplikacją, takie jak pobieranie danych do tworzenia raportów z naszymi metrykami.

Endpointy chronione hasłem
Jeśli tworzymy Niestandardowy Endpoint dla konkretnego klienta, możemy przypisać do niego hasło, zapewniając dodatkowy poziom bezpieczeństwa, tak aby tylko ten klient miał dostęp do endpointu.

Przy pierwszym dostępie do endpointu chronionego hasłem (niezależnie od tego, czy dostęp następuje bezpośrednio do endpointu, czy do jego klientów GraphiQL lub Interactive Schema), pojawia się ekran z prośbą o podanie hasła:

Po podaniu i zweryfikowaniu hasła użytkownik uzyska dostęp do zamierzonego endpointu lub klienta:
