Nest js - @ nestjs / graphql GraphQLGatewayModule всегда возвращает неверный запрос - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь использовать модуль GraphQLGatewayModule из @ nestjs / graphql.

Для тестирования я использую GraphQL бесплатно: https://anilist.co/graphiql

Но я всегда получаю статус HTTP 400.

Мой код:

import { Module } from '@nestjs/common';
import { GraphQLGatewayModule } from '@nestjs/graphql';

@Module({
  imports: [
    GraphQLGatewayModule.forRoot({
      server: {
        // ... Apollo server options
        debug: true,
        cors: true
      },
      gateway: {
        debug: true,
        serviceList: [{ name: 'TEST_GRAPHQL_GATEWAY', url: 'http://user-service:3000/graphql' }],
      }
    })
  ]
})
export class AppModule { }

Я всегда получаю статус HTTP 400. Но это API это нормально. Я получаю это сообщение:

Encountered error when loading TEST_GRAPHQL_GATEWAY at http://user-service:3000/graphql: 400: Bad Request
[INFO] Fri Mar 20 2020 17:52:20 GMT+0000 (Coordinated Universal Time) apollo-gateway: Gateway successfully loaded schema.
    * Mode: unmanaged
(node:368) UnhandledPromiseRejectionWarning: Error: Expected undefined to be a GraphQL schema.
    at assertSchema (/app/node_modules/graphql/type/schema.js:41:11)
    at validateSchema (/app/node_modules/graphql/type/validate.js:44:28)
    at assertValidSchema (/app/node_modules/graphql/type/validate.js:68:16)
    at assertValidExecutionArguments (/app/node_modules/graphql/execution/execute.js:136:35)
    at executeImpl (/app/node_modules/graphql/execution/execute.js:86:3)
    at Object.execute (/app/node_modules/graphql/execution/execute.js:64:63)
    at Object.generateSchemaHash (/app/node_modules/apollo-server-core/dist/utils/schemaHash.js:14:32)
    at ApolloServer.generateSchemaDerivedData (/app/node_modules/apollo-server-core/dist/ApolloServer.js:282:41)
    at ApolloServerBase.schemaDerivedData._schema.then.schema (/app/node_modules/apollo-server-core/dist/ApolloServer.js:206:66)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:368) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:368) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Неправильно ли я использую GraphQLGatewayModule?

Спасибо!

1 Ответ

0 голосов
/ 20 марта 2020

Решено!

Я использовал более старую версию @ nestjs / graphql, в которой не было модуля GraphQLFederationModule. Я пытался использовать API-интерфейс USER с модулем GraphQLModule

...