Apollo Federation:扩展类型时基础服务的本地开发

问题描述

使用Apollo联合会在分布式服务上进行本地开发时,我遇到了麻烦。问题是服务1 定义类型A,服务2 扩展类型A。仅运行服务2(而不是网关)时,任何返回类型A的操作均不起作用因为未在服务1中定义;在网关上下文之外运行时,服务2不了解服务1。

我在服务2中拥有类型A的存根,但是在查询类型中没有它,因为由于服务1中已经存在该类型,它将在失败时抛出架构验证错误

有关这方面的信息似乎很少,但也许我只是没有联系。您使用什么模式来处理此问题?

修改 示例代码

服务1-类型

`
type A @key(fields: "id"){
  id: Int!
  name: string
}

query {
  a(id: Int!): A!
}
`

服务2-类型

`
extend type A @key(fields: "id"){
  id: Int! @external
  favoriteNumber: Int!
}
`

针对联合网关的查询

query {
  a(id: 1) {
    name
    favoriteNumber
  }
}

我正在尝试弄清楚如何仅在服务2中查询实体。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)