2

谁能帮助我如何使用 spqr-spring-boot-starter 获取模式文件?

我在网上寻找解决方案,发现:如何使用 SPQR 获取生成的方案文件 .graphqls?

new SchemaPrinter(
                  // Tweak the options accordingly
                  SchemaPrinter.Options.defaultOptions()
                          .includeScalarTypes(true)
                          .includeExtendedScalarTypes(true)
                          .includeIntrospectionTypes(true)
                          .includeSchemaDefintion(true)
            ).print(schema);

但我不确定我应该为模式传递什么?当我使用 spqr-spring-boot-starter 时,我没有写任何与 GraphQLSchema 实例相关的内容。

我需要架构文件来启用 Postman 中的自动完成功能。如果您对此有所了解,请提供帮助,这将非常有帮助。谢谢!

4

1 回答 1

0

根据 spqr 教程,您可能希望在 RestController 类中定义您的 graphQL 模式,您可以将该对象用于 SchemaPrinter。您可以将其设置为公开并在代码中的其他地方使用它

@Autowired
public GraphQLController(CheckConfigurationDemoResolver checkConfigurationDemoResolver) {
    GraphQLSchema schema = new GraphQLSchemaGenerator()
    schema = new GraphQLSchemaGenerator()
            .withBasePackages("com.acme.mygraphqlproj")
            .withOperationsFromSingleton(checkConfigurationDemoResolver)
            .generate();
    graphQL = GraphQL.newGraphQL(schema).build();
    String schemaString = new SchemaPrinter().print(schema);
    System.out.println("schemaString = " + schemaString);
}
于 2021-07-29T13:58:39.423 回答