我正在使用NestJS、TypeORM和GraphQL作为我的后端应用程序接口。我得到以下错误:
GraphQLError [Object]: Query root type must be provided.
at SchemaValidationContext.reportError (/home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/graphql/type/validate.js:88:19)
at validateRootTypes (/home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/graphql/type/validate.js:107:13)
at validateSchema (/home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/graphql/type/validate.js:52:3)
at graphqlImpl (/home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/graphql/graphql.js:79:62)
at /home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/graphql/graphql.js:28:59
at new Promise (<anonymous>)
at Object.graphql (/home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/graphql/graphql.js:26:10)
at GraphQLSchemaFactory.<anonymous> (/home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/@nestjs/graphql/dist/schema-builder/graphql-schema.factory.js:49:52)
at Generator.next (<anonymous>)
at /home/wise-introvert/Container/Projects/the-notebook/app/server/node_modules/tslib/tslib.js:114:75
下面是我的文件结构和代码:
谁能帮帮我。我的回购:https://github.com/wise-introvert/nestjs-graphql-api.git
发布于 2020-09-29 00:24:10
所有运行GraphQL的服务器必须至少有一个@Query()
才能被视为有效的GraphQL服务器。如果没有它,apollo-server包将抛出异常,服务器将无法启动。这可以简单到如下所示
@Resolver()
export class FooResolver {
@Query(() => String)
sayHello(): string {
return 'Hello World!';
}
}
发布于 2020-12-04 21:19:29
还要确保在模块提供程序中添加了Resolver
@Module({
imports: [
GraphQLModule.forRoot({
installSubscriptionHandlers: true,
autoSchemaFile: true,
}),
],
controllers: [],
providers: [FooResolver], //< This
})
export class FooModule {}
发布于 2021-10-14 09:10:04
这个答案并不是对这个问题的直接回答。
但是,如果您面对的是所描述的问题,并且答案没有帮助,请重新检查您是否使用了正确的导入:
// Correct
import { Resolver, Query } from '@nestjs/graphql';
// Incorrect in NestJS
import { Resolver, Query } from 'type-graphql';
https://stackoverflow.com/questions/64105940
复制相似问题