Есть ли уже решение для кэширования схемы для запросов GraphQL? - PullRequest
0 голосов
/ 08 октября 2019

Наш текущий процесс работы с нашей серверной частью для нашей команды разработчиков мобильных приложений заключается в создании новой конечной точки REST каждый раз, когда разработчику мобильных приложений требуются данные, сформированные определенным образом. Это может быть немного обременительно, поэтому мы рассматриваем, возможно, создание единой конечной точки GraphQL.

Это решает проблему необходимости постоянного повторного развертывания нашей серверной службы каждый раз, когда мобильному разработчику требуется новая схема. Однако это может вызвать еще одну проблему с накладными расходами, понесенными в полезной нагрузке.

Мы не заботимся о кэшировании самих запросов, потому что будет редко запрашивать одну и ту же схему для того же номера заказа, вместо этого мыхочу кешировать только схему. Например:

Первый вызов:

{
  order(id:"1000") {
    client {
      first_name
      last_name
      phone_number
    }
    shipping_address
    ...
}

Затем сервер вернет некоторый тип guid, соответствующий схеме. Теперь при получении номера следующего заказа мы можем повторно использовать схему и сохранить некоторые накладные расходы.

Второй вызов:

{
  order(id:"1001", schema:"8d2b7abd-25a5-4a09-812c-09da66cbdd34") {
}

В этом случае guid представляет клиента с именем first_name, last_name,phone_number и shipping_address и т. д.


Вместо того, чтобы заново изобретать колесо, это что-то встроено в GraphQL? Или какая-то библиотека там?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...