【问题标题】:Problem with multiple graphql resolver implementations in nestjsNestjs中多个graphql解析器实现的问题
【发布时间】:2019-05-27 10:01:55
【问题描述】:

我刚开始学习 NestJS 和 GraphQL。我从UserModule 中定义的单个解析器类UserResolver 开始。此类提供读取用户列表或特定用户的方法。方法用@Query() 装饰,提供user.graphqlfile,GraphQL 在AppModule 中初始化,所有这些都在文档中描述。一切正常,我可以通过 Insomnia Tool 或 Playground 获取用户或特定用户的列表。我很高兴!

现在我创建了第二个模块RoleModule。我创建了一个role.graphql 文件和一个RoleResolver 类,我基本上复制了为User 完成的所有工作,但这次是为RoleRole 类型的 GraphQL 类型定义以及 role.graphql 文件中的查询定义被识别。无法识别的是我在 RoleResolver 类中的 Query() 实现,它们没有被调用。

如果我将所有这些与Role 相关的@Query() 定义放入UserResolver 类中,这些与Role 相关的查询现在会被调用。

这是预期的行为吗?我是否需要将所有 GraphQL 查询定义放到一个类中?是否可以将 NestJS-GraphQL 解析器实现分散到多个模块上?难道我做错了什么?请帮忙。

【问题讨论】:

  • 这对我有用。您是否在模块providers 数组中声明了解析器? @Query('role') 中的名称是否正确?还要确保从@nestjs/graphql 导入Query 并从@nestjs/common 导入not。如果这没有帮助,请提供角色解析器的源代码。
  • @KimKern:感谢您的帮助。我确实是从@nestjs/common 导入的,这就是问题所在...有时第二双眼睛很有帮助!

标签: node.js typescript graphql nestjs


【解决方案1】:

确保您从@nestjs/graphql 导入Query不是从@nestjs/common 导入

【讨论】:

    猜你喜欢
    • 2020-08-01
    • 2020-09-04
    • 2020-12-30
    • 2020-05-22
    • 2020-01-18
    • 2021-07-27
    • 2021-04-15
    • 1970-01-01
    • 2010-10-28
    相关资源
    最近更新 更多