Persisted Queries
Используйте GraphQL queries для создания предварительно определённых эндпоинтов, как в REST, получая преимущества обоих API.

Click to watch tutorial video - 08:19
В REST API мы создаём несколько эндпоинтов, каждый из которых возвращает заранее заданный набор данных. В GraphQL API, напротив, мы отправляем любой запрос к единственному эндпоинту, который возвращает именно запрошенные данные.
Persisted queries — это обычные GraphQL queries, однако они хранятся на сервере и доступны по собственному URL, таким образом эмулируя REST-эндпоинт. Они сочетают в себе преимущества обоих API, избегая их недостатков:
| Преимущества | Недостатки |
|---|---|
✅ Доступны через GET или POST | POST |
| ✅ Могут кешироваться на сервере или CDN | |
| ✅ Безопасны: раскрываются только предназначенные данные | |
| ✅ Без избыточной или недостаточной загрузки данных — все данные получаются за один запрос | |
| ✅ Позволяет быстро итерировать проект | |
| ✅ Может быть самодокументируемым | |
| ✅ Предоставляет клиентам возможность создавать и публиковать запрос |

После публикации persisted query её можно выполнить по постоянной ссылке (permalink).
Persisted query можно выполнить через клиент GraphiQL или непосредственно в браузере (поскольку доступ осуществляется через GET), и мы получим запрошенные данные в формате JSON:

Persisted queries можно управлять с помощью категорий и иерархий.
