Custom Endpoints
Custom EndpointsNiestandardowe Endpointy

Niestandardowe Endpointy

Included in the “Power Extensions” bundle

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/.

Edytor niestandardowego endpointu

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 GraphiQL niestandardowego endpointu

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.

Interaktywny schemat niestandardowego endpointu

Tworzenie Niestandardowego Endpointu

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

Niestandardowe Endpointy w panelu administracyjnym
Niestandardowe Endpointy w panelu administracyjnym

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

Tworzenie nowego Niestandardowego Endpointu

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

Przegląd Niestandardowego Endpointu

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

Źródło niestandardowego endpointu

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

Ustawienia niestandardowego endpointu
Ustawienia niestandardowego endpointu

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:

Wybieranie konfiguracji schematu

Organizowanie Niestandardowych Endpointów według Kategorii

W panelu bocznym "Endpoint categories" możemy dodawać kategorie, aby ułatwić zarządzanie Niestandardowym Endpointem:

Kategorie endpointów podczas edytowania Niestandardowego Endpointu

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

Lista kategorii endpointów

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:

Lista Niestandardowych Endpointów z ich kategoriami

Filtrowanie Niestandardowych Endpointów według 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.

Prywatny Niestandardowy Endpoint

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.

Niestandardowy Endpoint chroniony hasłem

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:

Niestandardowy Endpoint chroniony hasłem: Pierwszy dostęp

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

Niestandardowy Endpoint chroniony hasłem: Po autoryzacji