Библиотека запросов
Библиотека запросов — это именованные GraphQL-запросы, которые лежат в одном месте и переиспользуются где угодно. Один раз описали «список услуг» — и берёте его по имени, хоть на одной странице, хоть на десяти.
Зачем библиотека
Узел GraphQL во флоу умеет писать запрос прямо в себе («Вручную»), но у такого запроса два минуса: он спрятан внутри схемы, и если тот же список данных нужен на второй странице — придётся копировать. Библиотека решает оба: запрос лежит в одном месте под именем, а флоу ссылаются на него.

Как устроена вкладка
Слева — список запросов (имя + первая строка тела), справа — редактор выбранного запроса:
- Имя запроса — латиницей, по нему на вас будут ссылаться (в нашем
демо —
services_list); - Тело запроса — сам GraphQL; редактор подсказывает поля по живой схеме вашего проекта, так что опечататься в имени типа сложно;
- «Только для участников» — запрос отдаёт данные участника (личные страницы); анонимный JSON-API на такой запрос ответит отказом;
- «Сохранить» — правка садится в черновик и попадает на сайт после публикации (как у флоу и шаблонов).
Как использовать запрос
Два пути:
- Во флоу — в узле GraphQL переключите «Источник запроса» на «Из
библиотеки» и выберите имя. Ключ результата по-прежнему ваш
(
results.ключ/ в шаблонеключ.data.…). - На маршруте — адрес сайта может получить запрос напрямую, без отдельного флоу: данные придут в шаблон. Как это устроено — в статье «Маршруты».
Изменение запроса в библиотеке обновляет все места, где он используется, — это и сила, и ответственность: правка уезжает на все страницы сразу. Поэтому правки живут в черновике: посмотрели на превью, убедились, что ничего не сломалось, — публикуйте.
Частые вопросы
| Вопрос | Ответ |
|---|---|
| Удалил запрос — что со страницами | Флоу, ссылавшийся на него, начнёт отвечать ошибкой. Имя свободно — можно создать заново. |
| Запрос в узле «сломался» после правки в библиотеке | Сверьте тело запроса: узел ссылается по имени, а не хранит копию. |
| Нужно чуть другой список на другой странице | Сделайте отдельный запрос в библиотеке (services_by_city), а не правьте общий. |
Следующая статья: Первый флоу за 10 минут →