Logo

Возможность:

Persisted queries

Persisted queries

В REST API мы создаём множество эндпоинтов, каждый из которых возвращает заранее определённый набор данных. В GraphQL API, напротив, мы отправляем любой запрос на единственный эндпоинт, который возвращает ровно те данные, которые были запрошены.

Persisted queries — это обычные GraphQL queries, однако они хранятся на сервере и доступны по собственному URL, тем самым эмулируя REST-эндпоинт. Они сочетают преимущества обоих подходов, избегая их недостатков:

ПреимуществаНедостатки
✅ Доступны через GET или POST❌ Доступны только через POST
✅ Можно кэшировать на сервере или CDN❌ Требуется дополнительный слой на стороне клиента только для кэширования
✅ Безопасны: раскрываются только предусмотренные данные❌ Данные открыты для всех, включая злоумышленников
✅ Нет избыточной или недостаточной выборки данных — все данные извлекаются за один запрос❌ Может работать медленно, так как приложению может потребоваться несколько запросов для получения всех данных
✅ Обеспечивает быструю итерацию проекта❌ Создавать все эндпоинты утомительно
✅ Может быть самодокументируемым❌ Создание документации обязательно
✅ Предоставляет клиентам возможность создавать и публиковать запрос❌ Публикация эндпоинтов осуществляется через код
Persisted query в редакторе
Persisted query в редакторе

Подпишитесь на нашу рассылку

Будьте в курсе всех обновлений Gato GraphQL.