gpt4 book ai didi

GraphQL:嵌套查询与根查询

转载 作者:行者123 更新时间:2023-12-04 04:29:59 30 4
gpt4 key购买 nike

我在我的服务器上使用 Apollo GraphQL,我正在尝试设计我的 GraphQL API。我遇到的一个问题是我是否应该更喜欢嵌套查询而不是根查询。

让我们在此示例中检查当前用户 me ,有很多invitations .

根查询

me {
id
name
}

invitations {
id
message
}
invitations 的解析器返回当前用户的邀请。

嵌套查询
me {
id
name
invitations {
id
message
}
}

除了邀请嵌套在用户对象 me 中之外,这些应该实现相同的结果。使用后一种方法。我担心的是,如果这与 Apollo Client 顺利地工作以保持缓存一致。

设计 GraphQL 查询的推荐方法是什么?

最佳答案

我会说这真的取决于具体情况。就我个人而言,我将嵌套属性视为上下文:如果 API 使用者想要获取我的通知,那么它是 me { notifications { ... } } ,不是 notifications { ... } .例如,如果有一个顶级 key 是有意义的,那么有一个全局通知的概念(不依赖于用户),那么就去做吧。如果每个用户都有自己的通知(我认为这是真的),那么 me类型 User应该有它,因为每个 User做。这种概括鼓励了可重用的思维:管理面板,其中 user(id: ...) { ... }正在使用而不是 me { ... } ,可以免费使用相同的 UI 代码。

根据经验,最好考虑使用该 API,而不是提供它。

关于GraphQL:嵌套查询与根查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54026744/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com