Créer une API
Créer une APICréer une hiérarchie d'API

Créer une hiérarchie d'API

Les endpoints personnalisés et les requêtes persistées peuvent être organisés en hiérarchie. Cela est réalisé lorsqu'ils déclarent un parent, auquel cas leurs chemins d'endpoint étendront le chemin d'endpoint du parent.

Par exemple, nous pouvons créer cette hiérarchie :

  • Requête persistée parente : /graphql-query/posts/
  • Requête persistée enfant : /graphql-query/posts/english/
  • Requête persistée enfant : /graphql-query/posts/french/

Le nombre de niveaux est illimité, nous pouvons donc également créer :

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

Consultez le guide Stratégies pour les hiérarchies d'API pour voir les configurations possibles.

Héritage de propriétés

Les endpoints personnalisés et les requêtes persistées enfants hériteront des propriétés du parent.

Endpoints personnalisés et requêtes persistées

Les endpoints personnalisés et les requêtes persistées enfants hériteront de la configuration du schéma du parent.

Requêtes persistées uniquement

Les requêtes persistées enfants hériteront également de la requête GraphQL et des variables du parent. Les valeurs des variables peuvent être remplacées par l'enfant, variable par variable.

Par exemple, si le parent déclare ces variables :

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

Et que l'enfant déclare ces variables :

{
  "limit": 10
}

Alors, les variables calculées pour l'enfant seront :

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

Créer une hiérarchie d'API

Dans l'endpoint personnalisé ou la requête persistée, dans les paramètres du document, il y a une section Attributs de page avec un menu déroulant de toutes les autres entités, pour en sélectionner une comme parent :

Héritage d'API

Requêtes persistées

Lors de la sélection d'un parent, la requête persistée proposera une nouvelle option, "Inherit query from ancestor(s)?"

Définissez cette option sur Oui, pour que la requête persistée enfant hérite de la requête GraphQL du parent :

Héritage d'API

Exemple

Cette requête persistée définit sa requête GraphQL, et déclare la variable $limit avec la valeur 1 :

Requête persistée parente

Une requête persistée enfant l'étend, héritant de la requête GraphQL, et remplaçant la valeur de la variable $limit par 2 :

Requête persistée enfant