Endpoint Personalizzati
Crea schemi personalizzati, con regole di accesso personalizzate per utenti diversi, ciascuno disponibile sotto il proprio endpoint.
Descrizione
Un server GraphQL normalmente espone un unico endpoint per recuperare e inviare dati.
Oltre a supportare l'endpoint unico, Gato GraphQL consente anche di creare endpoint personalizzati, fornendo diverse configurazioni dello schema per soddisfare le esigenze di destinatari differenti, come ad esempio:
- Un client o utente specifico
- Un gruppo di utenti con maggiore accesso alle funzionalità (come gli utenti PRO)
- Una delle varie applicazioni, come un'app mobile o un sito web
- API di terze parti
- Qualsiasi altro caso
L'endpoint personalizzato è un Custom Post Type, e il suo permalink è l'endpoint. Un endpoint con il titolo "My endpoint" e lo slug my-endpoint sarà accessibile sotto /graphql/my-endpoint/.

Client
Ogni endpoint personalizzato dispone del proprio insieme di client per interagire con esso:
✅ Un client GraphiQL, disponibile sotto l'endpoint + ?view=graphiql (es.: /graphql/my-endpoint/?view=graphiql).
Il modulo GraphiQL per gli Endpoint Personalizzati deve essere abilitato.

✅ Un client Interactive schema, disponibile sotto l'endpoint + ?view=schema (es.: /graphql/my-endpoint/?view=schema).
Il modulo Interactive Schema per gli Endpoint Personalizzati deve essere abilitato.

Creazione di un Endpoint Personalizzato
Cliccando sul link Endpoint Personalizzati nel menu, viene visualizzato l'elenco di tutti gli endpoint personalizzati creati:

Un endpoint personalizzato è un custom post type (CPT). Per creare un nuovo endpoint personalizzato, clicca sul pulsante "Aggiungi Nuovo endpoint GraphQL", che aprirà l'editor di WordPress:

Quando l'endpoint personalizzato è pronto, pubblicalo, e il suo permalink diventa il suo URL dell'endpoint. I link verso l'endpoint (e verso la sorgente e i client) vengono mostrati nel pannello laterale "Pagina principale dell'Endpoint Personalizzato":

Aggiungendo ?view=source al permalink, verrà mostrata la configurazione dell'endpoint (a condizione che l'utente sia connesso e che il suo ruolo gli consenta l'accesso):

Per impostazione predefinita, l'endpoint personalizzato ha il percorso /graphql/, e questo valore è configurabile tramite le Impostazioni:

Configurazione dello schema
La definizione degli elementi che lo schema contiene, e dell'accesso che gli utenti avranno ad esso, viene definita nella configurazione dello schema.
Dobbiamo quindi creare una configurazione dello schema, e poi selezionarla dall'elenco a discesa:

Organizzazione degli Endpoint Personalizzati per Categoria
Nel pannello laterale "Categorie di endpoint" possiamo aggiungere categorie per aiutare a gestire l'Endpoint Personalizzato:

Ad esempio, possiamo creare categorie per gestire gli endpoint per client, applicazione, o qualsiasi altra informazione necessaria:

Nell'elenco degli Endpoint Personalizzati, possiamo visualizzare le loro categorie e, cliccando su un link di categoria, o utilizzando il filtro in alto, verranno mostrate solo tutte le voci di quella categoria:


Endpoint privati
Impostando lo stato dell'Endpoint Personalizzato come private, l'endpoint potrà essere accessibile solo dall'utente amministratore. Questo evita che i nostri dati vengano condivisi inavvertitamente con utenti che non dovrebbero avervi accesso.
Ad esempio, possiamo creare Endpoint Personalizzati privati che aiutano a gestire l'applicazione, come il recupero di dati per creare report con le nostre metriche.

Endpoint protetti da password
Se creiamo un Endpoint Personalizzato per un client specifico, possiamo assegnargli una password, in modo da fornire un livello di sicurezza aggiuntivo affinché solo quel client acceda all'endpoint.

Quando si accede per la prima volta a un endpoint protetto da password (sia accedendo direttamente all'endpoint, sia ai suoi client GraphiQL o Interactive Schema), incontriamo una schermata che richiede la password:

Una volta fornita e convalidata la password, solo allora l'utente accederà all'endpoint o al client previsto:
