Criando uma API
Criando uma APICriando uma hierarquia de API

Criando uma hierarquia de API

Endpoints personalizados e queries persistidas podem ser organizados em uma hierarquia. Isso é alcançado quando eles declaram um pai, caso em que seus caminhos de endpoint estenderão o caminho de endpoint do pai.

Por exemplo, podemos criar esta hierarquia:

  • Query persistida pai: /graphql-query/posts/
  • Query persistida filha: /graphql-query/posts/english/
  • Query persistida filha: /graphql-query/posts/french/

O número de níveis é ilimitado, portanto também podemos criar:

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

Consulte o guia Estratégias para hierarquias de API para ver as configurações possíveis.

Herança de propriedades

Endpoints personalizados e queries persistidas filhas herdarão propriedades do pai.

Endpoints personalizados e queries persistidas

Endpoints personalizados e queries persistidas filhas herdarão a configuração de schema do pai.

Apenas queries persistidas

Queries persistidas filhas também herdarão a query GraphQL e as variáveis do pai. Os valores das variáveis podem ser substituídos pelo filho, variável por variável.

Por exemplo, se o pai declarar estas variáveis:

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

E o filho declarar estas variáveis:

{
  "limit": 10
}

Então, as variáveis calculadas para o filho serão:

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

Criando uma hierarquia de API

No endpoint personalizado ou na query persistida, nas configurações do Documento, há uma seção Atributos da página com um menu suspenso de todas as outras entidades, para selecionar como pai:

Herança de API

Queries persistidas

Ao selecionar um pai, a query persistida oferecerá uma nova opção, "Inherit query from ancestor(s)?"

Defina esta opção como Sim, para que a query persistida filha herde a query GraphQL do pai:

Herança de API

Exemplo

Esta query persistida define sua query GraphQL e declara a variável $limit com o valor 1:

Query persistida pai

Uma query persistida filha a estende, herdando a query GraphQL e substituindo o valor da variável $limit para 2:

Query persistida filha