8 votes

GraphQLError : Le type de racine de la requête doit être fourni

J'utilise NestJS, TypeORM et GraphQL pour mon API dorsale. J'obtiens l'erreur suivante :

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

Voici à quoi ressemble la structure de mes fichiers et mon code : enter image description here

Quelqu'un peut-il m'aider ? Mon dépôt : https://github.com/wise-introvert/nestjs-graphql-api.git

12voto

Jonathan Turnock Points 330

Assurez-vous également que le résolveur est ajouté dans les fournisseurs du module.

@Module({
  imports: [
    GraphQLModule.forRoot({
      installSubscriptionHandlers: true,
      autoSchemaFile: true,
    }),
  ],
  controllers: [],
  providers: [FooResolver], //< This
})
export class FooModule {}

10voto

Jay McDoniel Points 18394

Tous les serveurs fonctionnant avec GraphQL doivent avoir au moins un @Query() pour être considéré comme un serveur GraphQL valide. Sans cela, le paquet apollo-server lèvera une exception et le serveur ne pourra pas démarrer. Cela peut être aussi simple que

@Resolver()
export class FooResolver {

  @Query(() => String)
  sayHello(): string {
    return 'Hello World!';
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X