Ошибка: невозможно расширить тип «Запрос», поскольку он не определен - PullRequest
0 голосов
/ 23 октября 2019

Я получаю эту ошибку при расширении Query в схеме GraphQL. Вот стек ошибок:

stack=[Error: Cannot extend type "Query" because it is not defined.,     at assertValidSDL (/NodeGraphQL/node_modules/graphql/validation/validate.js:108:11),     
at Object.buildASTSchema (/NodeGraphQL/node_modules/graphql/utilities/buildASTSchema.js:71:34),     
at Object.buildSchemaFromTypeDefinitions (/NodeGraphQL/node_modules/graphql-tools/dist/generate/buildSchemaFromTypeDefinitions.js:23:28),     
at Object.makeExecutableSchema (/NodeGraphQL/node_modules/graphql-tools/dist/makeExecutableSchema.js:26:29),     
at ApolloServer.initSchema (/NodeGraphQL/node_modules/apollo-server-core/dist/ApolloServer.js:272:49),     
at new ApolloServerBase (/NodeGraphQL/node_modules/apollo-server-core/dist/ApolloServer.js:202:30),     
at new ApolloServer (/NodeGraphQL/node_modules/apollo-server-express/dist/ApolloServer.js:59:9),     
at Object.<anonymous> (/NodeGraphQL/dist/server.js:17:16),     
at Module._compile (internal/modules/cjs/loader.js:689:30),     at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10),     
at Module.load (internal/modules/cjs/loader.js:599:32),     at tryModuleLoad (internal/modules/cjs/loader.js:538:12),     
at Function.Module._load (internal/modules/cjs/loader.js:530:3),     at Function.Module.runMain (internal/modules/cjs/loader.js:742:12),     
at startup (internal/bootstrap/node.js:283:19),     at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)]

Вот как выглядит моя схема:

import { gql } from 'apollo-server-express';

export const ticket = gql`
  type Ticket {
    id: ID!
    subject: String
    priority_id: Int
    status_id: Int
    user_id: Int
    assigned_to_user_id: Int
  }

  extend type Query {
    tickets: [Ticket]
    ticket(id: ID!): Ticket
  }
`;

Ищем решение:)

1 Ответ

1 голос
/ 23 октября 2019

Ключевое слово extend используется для дополнения существующего типа в той же схеме. Например, мы можем сделать:

type User {
  username: String!
}

extend type User {
  firstName: String!
  lastName: String!
}

Это полезно при разделении вашей схемы на несколько файлов или построении схемы из базовой схемы.

Однако вы не можете расширить тип, которыйне существуетВы не определили тип Query в своей схеме, поэтому вы не можете расширить его. Просто удалите ключевое слово extend.

...