Постоянные запросы в SPQR GraphQL
Имеет ли GraphQL-SPQR поддержку PersistedQueries или нет, если нет, то каков рекомендуемый способ обработки постоянных запросов в SPQR.
1 ответ
Я предполагаю, что вы имеете в виду SPQR Spring Starter здесь. В настоящее время эта функция не имеет встроенной функции. Я верю, что только Apollo Engine (Link?) Делает. Но вы должны иметь возможность использовать его с любым сервером GraphQL.
Сообщение от блога Аполлона говорит:
Автоматические постоянные запросы - встроенная функция при использовании Apollo Link и Engine, работает с любым клиентом или сервером
Таким образом, вы можете иметь свой сервер на базе SPQR за Apollo Engine, и получить эту и другие функции, которые он предлагает.
Вы также можете реализовать эту особенность самостоятельно, относительно легко. К сожалению, в версии 0.0.3 SPQR Spring Starter вам придется заменить контроллер. Следующий выпуск (0.0.4) будет намного легче расширять.
GraphQLController
Боб создается так:
@Bean
@ConditionalOnProperty(name = "graphql.spqr.http.enabled", havingValue = "true", matchIfMissing = true)
@ConditionalOnBean(GraphQLSchema.class)
public GraphQLController graphQLController(GraphQL graphQL, GlobalContextFactory contextFactory) {
return new GraphQLController(graphQL, contextFactory, dataLoaderRegistryFactory);
}
Это означает, что вы можете отключить его, добавив graphql.spqr.http.enabled=false
в конфигурацию вашего приложения. Затем вы можете зарегистрировать свой собственный контроллер, который может расширить существующие и предварительно обработать запросы.
Опять же, это излишне сложно и будет намного проще настроить в 0.0.4 (планируется выпустить через несколько недель). Я обновлю этот ответ, чтобы проиллюстрировать новое использование, как только выйдет 0.0.4.