首页 > 解决方案 > 如何在 graphql-spqr-spring-boot-starter 中禁用模式自省

问题描述

我已经将我的 Spring Boot 应用程序与graphql-spqr-spring-boot-starter https://github.com/leangen/graphql-spqr-spring-boot-starter集成在一起,我需要找到一种方法来禁用 graphql 模式自省因为它是生产的安全问题。

标签: spring-bootgraphql-javagraphql-spqrgraphql-spqr-spring-boot-starter

解决方案


schemaBuilder.fieldVisibility is Deprecated.

Graphql-spqr 0.10

    @Bean
    public GraphQLSchema graphQLSchema(GraphQLSchemaGenerator schemaGenerator) {
        schemaGenerator.withSchemaProcessors((schemaBuilder, buildContext) -> {
            schemaBuilder.codeRegistry(
                    buildContext
                            .codeRegistry
                            .fieldVisibility(NoIntrospectionGraphqlFieldVisibility.NO_INTROSPECTION_FIELD_VISIBILITY)
                            .build()
            );
            return schemaBuilder;
        });
        return schemaGenerator.generate();
    }

推荐阅读