Custom Endpoints
Custom EndpointsEndpoint Personalizzati

Endpoint Personalizzati

Included in the “Power Extensions” bundle

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

Editor dell'endpoint personalizzato

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.

Client GraphiQL dell'endpoint personalizzato

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

Interactive schema dell'endpoint personalizzato

Creazione di un Endpoint Personalizzato

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

Endpoint Personalizzati nell'amministrazione
Endpoint Personalizzati nell'amministrazione

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:

Creazione di un nuovo Endpoint Personalizzato

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

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

Sorgente dell'endpoint personalizzato

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

Impostazioni dell'endpoint personalizzato
Impostazioni dell'endpoint personalizzato

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:

Selezione della configurazione dello schema

Organizzazione degli Endpoint Personalizzati per Categoria

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

Categorie di endpoint durante la modifica di un Endpoint Personalizzato

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

Elenco delle categorie di endpoint

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:

Elenco degli Endpoint Personalizzati con le loro categorie

Filtraggio degli Endpoint Personalizzati per 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 Personalizzato privato

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.

Endpoint Personalizzato protetto da password

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:

Endpoint Personalizzato protetto da password: Primo accesso

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

Endpoint Personalizzato protetto da password: Dopo l'autorizzazione