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

带有Apollo联合的TypeGraphql是否可能?

如何解决带有Apollo联合的TypeGraphql是否可能?

我们正计划向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的架构是根据类自动生成的。有没有办法仍然使用这两种技术,或者它们是互斥的?

解决方法

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

,

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。