此版本仍在开发中,尚未被视为稳定版本。最新的稳定版本请使用 Spring GraphQL 1.3.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。最新的稳定版本请使用 Spring GraphQL 1.3.1Spring中文文档

您可以使用DGS代码生成等工具生成 GraphQL 模式中的 Java 类型。可以生成以下内容:Spring中文文档

  1. 请求的客户端类型(例如查询、突变)、输入类型和响应选择类型。Spring中文文档

  2. 与 GraphQL 模式类型相对应的数据类型。Spring中文文档

代码生成可能不适合您自己的应用程序的数据类型,尤其是在您 想要为它们添加逻辑。但是,代码生成非常适合客户端类型,因为 这些定义了请求,并且不需要其他逻辑。作为客户,您也可以 选择为响应生成数据类型。Spring中文文档

客户端生成的类型可以与 Spring 的 .首先遵循 DGS 代码生成插件生成客户端 API 类型的说明。然后,给定 像这样的架构:GraphQlClientSpring中文文档

type Query {
    books: [Book]
}

type Book {
    id: ID
    name: String
}

DGS Codegen 生成,您可以通过 HTTP(或任何支持的传输)将其使用,如下所示:BooksGraphQLQueryBooksProjectionRootGraphQlClientSpring中文文档

HttpGraphQlClient client =
        HttpGraphQlClient.create(WebClient.create("http://localhost:8080/graphql"));

BooksGraphQLQuery query = new BooksGraphQLQuery();
String document = new GraphQLQueryRequest(query, new BooksProjectionRoot<>().id().name()).serialize();

List<Book> books = client.document(document)
        .retrieve(query.getOperationName())
        .toEntityList(Book.class)  // possibly also generated or imported if available
        .block();
我们打算在 spring-graphql#846 中进一步简化上述代码。
我们打算在 spring-graphql#846 中进一步简化上述代码。

您可以在 start.spring.io 使用 Spring Initializer 创建 Spring 项目 DGS Code Generation Gradle 或 Maven 插件。Spring中文文档