如何联合提供相同类型的两个阿波罗服务
How to federate two apollo services that provide the same type
我是 apollo 的新手,我有两个 apollo 服务,我想使用 apollo federation 来联合它们:
产品服务:
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 的正确过程是正确的,还是有注释允许我在两个服务中定义完全相同的类型?
一个服务必须拥有该类型。在该服务中使用@key 指令。在引用服务中使用@extend,并包含一个存根类型,其中包含该服务使用的字段。
将其视为 SQL 数据库中的外键。
我是 apollo 的新手,我有两个 apollo 服务,我想使用 apollo federation 来联合它们:
产品服务:
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 的正确过程是正确的,还是有注释允许我在两个服务中定义完全相同的类型?
一个服务必须拥有该类型。在该服务中使用@key 指令。在引用服务中使用@extend,并包含一个存根类型,其中包含该服务使用的字段。
将其视为 SQL 数据库中的外键。