GraphQL 批量解析/防止复杂类型请求开销

GraphQL bulk resolve / Prevent complex type request overhead

假设我们有一个模型 Book,其中包含另一个模型 Author
现在让我们发送一个查询:

query Book {
    newestBooks(count: 200) {
        id
        title
        author {
            name
        }
    }
}

在我的 BookResolver 中,我提供了一个方法 getAuthor(),每个 Book.
调用一次 如果 getAuthor() 方法通过网络从另一个服务或从数据库加载作者,大量 Books 会产生大量开销。

GraphQL 中是否有一种方法可以执行某种批量请求来填充 n Book 实例的作者字段?

我正在使用 Java 和 Spring Boot 评估 GraphQL,但我想这个主题只是概念,与环境无关...

您可能正在寻找 DataLoader concept. DataLoader ported to Java is available here