Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阿波罗联盟_Javascript_Graphql_Apollo_Federation - Fatal编程技术网

Javascript 阿波罗联盟

Javascript 阿波罗联盟,javascript,graphql,apollo,federation,Javascript,Graphql,Apollo,Federation,我相信当我需要在彼此之间使用不同的服务时,我了解如何使用@key扩展类型。我想举个例子,以防我这个新手的理解不正确。例如,如果我为账户和用户提供了一项服务,在后者中,我有类似的服务 type Users @key(fields: "accountIds") { id: ID! accountIds: [ID] } 我将通过在我的帐户服务中添加一个文件来扩展用户来扩展此功能,如: extend type Users @key(fields: "accountIds") { acc

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

type Users @key(fields: "accountIds") {
  id: ID!
  accountIds: [ID]
}
我将通过在我的
帐户
服务中添加一个文件来扩展
用户
来扩展此功能,如:

extend type Users @key(fields: "accountIds") {
    accountIds: [ID] @external
    accounts: [Accounts!]
}
我还需要添加一个解析器来设置
accounts
应该是什么。首先,上面的说法正确吗?我明白我在做什么还是我错过了什么

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


如果我需要在其他服务中使用该
AccountResult
作为一种类型,我将如何使其可用?考虑到我上面所说的,我不知道我怎么能做到。再说一次,我是新手,所以我感谢你的耐心。

我觉得第一部分没问题。我假设您在尝试添加SelectedAccount内容之前已经完成了,因此您应该知道第一对问题的答案;-)不过,我不确定我是否得到了你的第二个答案。AFAIU如果您想扩展它们返回的数据,所有服务都需要至少启用联邦(主要是添加
@key
指令)。第一部分看起来没问题。我假设您在尝试添加SelectedAccount内容之前已经完成了,因此您应该知道第一对问题的答案;-)不过,我不确定我是否得到了你的第二个答案。AFAIU如果您想扩展服务返回的数据,所有服务至少需要启用联合(主要是添加
@key
指令)。。