gpt4 book ai didi

ios - 对 Apollo 突变的响应可以省略字段吗?

转载 作者:行者123 更新时间:2023-11-29 05:32:44 26 4
gpt4 key购买 nike

现在,在成功突变后,我发送了另一个对更新数据的请求。我想消除第二个请求。

根据Apollo docs ,如果我实现对象 ID,我可以免费获得缓存更新。这依赖于 graphql 服务器返回可以由 Apollo 标准化的响应(带有更新的数据)。

突变响应只能包含我的对象的部分字段吗?例如,我有一个 Hero 对象,它定义了英雄的 nameage。但 UI 只允许用户更改名称。我可以在响应中仅返回英雄的name,而不改变age吗?

最佳答案

是的,您可以按照与查询相同的方式从变异的结果中查询任何您想要的字段。您只需在更新后返回您的对象即可。

例如:

mutation {
updateHero(newHero: { name: "John Doe" }) {
name
}
}

还有一件事。尽管建议从 mutation 返回更新后的对象,但另一方面,也建议根据您的 UI 需求设计 GraphQL 服务器。因此,如果您认为更新后不需要整个对象,则始终可以仅返回名称。

在此架构中,您的架构将如下所示:

Mutation {
updateHero(newHero: UpdateHeroInput!): String!
}

相应的查询将是:

mutation {
updateHero(newHero: { name: "John Doe" })
}

请注意,没有字段选择,因为它返回单个标量值(字符串)。

关于ios - 对 Apollo 突变的响应可以省略字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57381292/

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