微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。