我相信当我需要彼此之间使用不同的服务时,我了解如何使用@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
作为类型,我该如何使它可用?鉴于以上所述,我看不出该怎么办。再说一次,我是新手,感谢您的耐心等候。