5

我是 apollo 的新手,我有两个 apollo 服务,我想通过使用 apollo 联合来联合:

产品服务:

extend type Query {
  job(id: String!): Job
}

type Seo {
  title: String! 
  description: String! 
  keywords: String! 
}

type Product @key(fields: "id")  {
  id: ID!
  title: String!
  seo: Seo!
}

员工服务:

extend type Query {
  staffMember(id: String!): StaffMember
}

type Seo {
  title: String! 
  description: String! 
  keywords: String! 
}

type StaffMember @key(fields: "id")  {
  id: ID!
  title: String!
  seo: Seo!
}

如何在两个对象的响应对象中使用类型Seo ?是创建接口 Seo 并实现 StaffMemberSeo 和 ProductSeo 的正确程序,还是有一个注释允许我在两个服务中定义完全相同的类型?

4

1 回答 1

2

一项服务必须拥有该类型。在该服务中使用 @key 指令。在引用服务中使用@extend,并包含该服务使用的字段类型的存根。

将其视为 SQL 数据库中的外键。

于 2020-04-30T22:11:06.227 回答