2

我的图表中有一个使用两个数据源的突变。我们正在将其中一个数据源迁移到联合服务。联合服务中的该数据源使用来自被调用突变的部分输入。发起服务也使用输入的一部分。例如:

mutation($verifyUserInput: VerifyUserInput!) {
  verifyUser(input: $verifyUserInput) {
    user {
      specialId
    }
    otherServiceField
  }
}

我需要将一部分传递VerifyUserInput给不是实体 PK 的其他服务。__resolveReference我在函数中找不到输入reference(显然,因为引用只传递类型名和 PK)context、或infoargs。突变的原始输入是否在联合服务中可用?如果是这样,我该如何找回它?

4

1 回答 1

0

我最终嗅探了网关中每个请求所需的确切输入,并将该值添加到标头中,以便它可以在服务中传播。这绝对感觉像一个黑客。我认为在 Apollo Federation 中有更正确的方法可以做到这一点。

于 2021-01-14T19:01:22.987 回答