Creare un'API
Creare un'APICreare una gerarchia di API

Creare una gerarchia di API

Gli endpoint personalizzati e le queries persistite possono essere organizzati in una gerarchia. Ciò si realizza quando dichiarano un elemento padre, nel qual caso i loro percorsi di endpoint estenderanno il percorso di endpoint del padre.

Ad esempio, possiamo creare questa gerarchia:

  • Query persistita padre: /graphql-query/posts/
  • Query persistita figlia: /graphql-query/posts/english/
  • Query persistita figlia: /graphql-query/posts/french/

Il numero di livelli è illimitato, quindi possiamo anche creare:

  • /graphql-query/posts/
  • /graphql-query/posts/mobile-app/
  • /graphql-query/posts/mobile-app/english/
  • /graphql-query/posts/mobile-app/french/
  • /graphql-query/posts/website/
  • /graphql-query/posts/website/english/
  • /graphql-query/posts/website/french/

Consulta la guida Strategie per le gerarchie di API per vedere le possibili configurazioni.

Ereditarietà delle proprietà

Gli endpoint personalizzati e le queries persistite figlie erediteranno le proprietà dal padre.

Endpoint personalizzati e queries persistite

Gli endpoint personalizzati e le queries persistite figlie erediteranno la configurazione dello schema del padre.

Solo queries persistite

Le queries persistite figlie erediteranno anche la query GraphQL e le variabili del padre. I valori delle variabili possono essere sovrascritti dal figlio, variabile per variabile.

Ad esempio, se il padre dichiara queste variabili:

{
  "limit": 5,
  "offset": 0
}

E il figlio dichiara queste variabili:

{
  "limit": 10
}

Allora, le variabili calcolate per il figlio saranno:

{
  "limit": 10,
  "offset": 0
}

Creare una gerarchia di API

Nell'endpoint personalizzato o nella query persistita, nelle impostazioni del documento, è presente una sezione Attributi pagina con un menu a tendina di tutte le altre entità, per selezionarne una come padre:

Ereditarietà API

Queries persistite

Quando si seleziona un padre, la query persistita offrirà una nuova opzione, "Inherit query from ancestor(s)?"

Imposta questa opzione su , per fare in modo che la query persistita figlia erediti la query GraphQL del padre:

Ereditarietà API

Esempio

Questa query persistita definisce la propria query GraphQL e dichiara la variabile $limit con il valore 1:

Query persistita padre

Una query persistita figlia la estende, ereditando la query GraphQL e sovrascrivendo il valore della variabile $limit a 2:

Query persistita figlia