gpt4 book ai didi

graphql - 如何在联合中查询不同类型的相同字段?

转载 作者:行者123 更新时间:2023-12-04 04:23:48 25 4
gpt4 key购买 nike

我有以下模型

type Duck {
category: Baz
}

type Foo {
size: FooSize
}

type Bar {
size: BarSize
}

union Baz = Foo | Bar

以下查询引发错误类型 FieldsConflict 的验证错误:大小:它们返回不同类型的 FooSize 和 BarSize @'duck/category'(这是此处所述的预期行为:https://github.com/graphql/graphql-js/issues/53)

{
duck {
category {
... on Foo {
size
}
... on Bar {
size
}
}
}
}

size 上的别名会使查询工作,但我不能在这里使用它们,因为查询结果将被传递回另一个期望 Duck.category 有一个完全命名为 size 的键。

我可以在这里使用任何变通方法或模式重构来使它正常工作吗?

最佳答案

在高层次上,您只能做三件事来解决该错误:

  • 重构架构,使 size 字段对于两种类型都是相同的类型。
  • 为一个或两个字段命名。
  • 只请求其中一种类型的字段。

如果您需要将响应传递给另一个 API,最简单的方法是使用别名,然后在将响应发送到 API 之前转换响应客户端。

关于graphql - 如何在联合中查询不同类型的相同字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58379796/

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