我刚刚开始学习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解析器实现分布在多个模块上?难道我做错了什么?请帮忙。
答案 0 :(得分:3)
确保从Query
导入@nestjs/graphql
,而从@nestjs/common
导入不是。