0

我们计划迁移到 Apollo GraphQL,因为 Apollo 联合功能允许在单个 GraphQL API 后面统一多个微服务。但是我们目前正在使用 TypeGraphQL,我认为它们是不兼容的。原因是在阿波罗联盟我看到你使用特殊的@key 属性

/* example from docs */
const typeDefs = gql`
  type Query {
    me: User
  }

  type User @key(fields: "id") {
    id: ID!
    username: String
  }
`;

但是,TypeGraphql 的模式是从类自动生成的。有没有办法仍然使用这两种技术,或者它们是互斥的?

4

2 回答 2

1

Typegraphql 添加了对它的支持,请在此处查看示例https://github.com/MichalLytek/type-graphql/tree/master/examples/apollo-federation

于 2020-09-03T13:25:49.133 回答
0

虽然它通过使用 @Directive 装饰器得到支持,但在大型项目中使用它并不容易。我目前正在一个复杂的项目中实现它,我对从另一个模式引用某种类型所需的样板代码量不满意。这里有一些关于添加更好支持的对话: https ://github.com/MichalLytek/type-graphql/issues/351#issuecomment-549156066 如果我有时间的话,我计划添加支持。

但它仍然没有实施。我创建了一个存储库,您可以在其中看到最小的示例(类似于 type-graphql 存储库中的一个): https ://github.com/hrvojepavlinovic/apollo-federation-type-graphql

于 2021-07-07T07:29:31.120 回答