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

时间:2018-12-21 13:51:10

标签: graphql graphql-java

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

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

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

GraphQL中是否可以执行某种批量请求来填充n Book实例的author字段?

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

1 个答案:

答案 0 :(得分:0)

您可能正在寻找DataLoader concepthere提供了移植到Java的DataLoader。