NestJS中多个graphql解析器实现的问题

时间:2018-12-30 13:02:31

标签: node.js typescript graphql nestjs

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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