Graphql阿波罗联盟

时间:2019-07-31 15:29:20

标签: javascript graphql apollo federation

我相信当我需要彼此之间使用不同的服务时,我了解如何使用@key扩展类型。举个例子,以防我是新手,以我的理解是不正确的。例如,如果我为Accounts提供服务,为Users提供服务,而在后者中我提供类似的服务,

type Users @key(fields: "accountIds") {
  id: ID!
  accountIds: [ID]
}

我可以通过在Accounts服务中添加文件来扩展Users来扩展它,例如:

extend type Users @key(fields: "accountIds") {
    accountIds: [ID] @external
    accounts: [Accounts!]
}

我还需要添加一个解析器来设置accounts应该是什么。第一件事,以上是否正确?我了解我在做什么还是错过了什么?

下一步。在现有的未联合代码库中,如何处理看起来像这样的类型: union AccountResult = Accounts | SelectedAccounts

如果我需要在其他一些服务中使用该AccountResult作为类型,我该如何使它可用?鉴于以上所述,我看不出该怎么办。再说一次,我是新手,感谢您的耐心等候。

0 个答案:

没有答案