Создание API
Создание APIСоздание иерархии API

Создание иерархии API

Пользовательские конечные точки и сохранённые queries можно организовывать в иерархию. Это достигается, когда они объявляют родителя: в таком случае пути их конечных точек будут расширять путь родительской конечной точки.

Например, можно создать такую иерархию:

  • Родительский сохранённый query: /graphql-query/posts/
  • Дочерний сохранённый query: /graphql-query/posts/english/
  • Дочерний сохранённый query: /graphql-query/posts/french/

Количество уровней не ограничено, поэтому можно также создать:

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

Ознакомьтесь с руководством Стратегии для иерархий API, чтобы увидеть возможные конфигурации.

Наследование свойств

Дочерние пользовательские конечные точки и сохранённые queries будут наследовать свойства от родителя.

Пользовательские конечные точки и сохранённые queries

Дочерние пользовательские конечные точки и сохранённые queries будут наследовать конфигурацию схемы родителя.

Только сохранённые queries

Дочерние сохранённые queries также будут наследовать GraphQL query и переменные родителя. Значения переменных могут быть переопределены дочерним элементом — по одной переменной за раз.

Например, если родитель объявляет такие переменные:

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

А дочерний элемент объявляет такие переменные:

{
  "limit": 10
}

Тогда вычисленные переменные для дочернего элемента будут:

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

Создание иерархии API

В пользовательской конечной точке или сохранённом query в настройках документа есть раздел Атрибуты страницы с выпадающим списком всех остальных сущностей для выбора в качестве родителя:

Наследование API

Сохранённые queries

При выборе родителя в сохранённом query появится новая опция: «Inherit query from ancestor(s)?»

Установите для этой опции значение Да, чтобы дочерний сохранённый query унаследовал GraphQL query родителя:

Наследование API

Пример

Этот сохранённый query определяет свой GraphQL query и объявляет переменную $limit со значением 1:

Родительский сохранённый query

Дочерний сохранённый query расширяет его, наследуя GraphQL query и переопределяя значение переменной $limit на 2:

Дочерний сохранённый query