嗨,快速的 graphQL 联合问题。我有一个在服务 A 中实现的 A 类型。我在服务 B 中添加了 SomeInterface 类型的字段 interfaceFields。在服务 BI 中有一个 SomeInterface 的实现。所以我的问题是我可以使用 SomeInterface 的另一个实现创建另一个服务,所以如果我运行这个查询
{
A(search: "test") {
field
interfacFields {
__typename
... on SomeInterfaceImpl1 {
id
}
... on SomeInterfaceImpl2 {
id
}
}
}
}
它将从服务 b 获得 SomeInterfaceImpl1,从服务 c 获得 someInterfaceImpl2。现在我有这个
服务A
type Query {
A(Search: String!): A
}
type A @key(fields: "id") {
id: String
}
服务乙
type A @key(fields: "id") @extends {
id: String @external
interfaceFields: [SomeInterface]
}
interface SomeInterface {
id: String!
}
type SomeInterfaceImpl1 implements SomeInterface {
id: String
title: String
}
服务 C
type Page @key(fields: "id") @extends {
slug: String @external
}
interface SomeInterface @extends{
id: String! @external
}
type SomeInterfaceImpl2 implements SomeInterface {
id: String
title: String
}
我收到这个错误
GraphQLError:UnknownType 类型的验证错误:未知类型 SomeInterfaceImpl2 @'_entities/interfaceFields
我只是不知道要为服务 C 做什么,或者即使这是可能的。无论如何,任何帮助将不胜感激