Постоянные запросы в 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.

Другие вопросы по тегам