0

嗨,快速的 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 做什么,或者即使这是可能的。无论如何,任何帮助将不胜感激

4

0 回答 0