NoneZeit -now v2 + apollo-server-express: ошибка игровой площадки: не удается связаться с сервером

В настоящее время я пытаюсь получить API для моего проекта nextjs для работы. Для развертывания я использую Zeit NOW v2 (локально через "теперь dev").

Все отлично работает, кроме graphql-сервера.

На детской площадке и через клиента я получаю ошибку 404. Запросы выполняются правильно, но я получаю объект ошибки (результаты запроса находятся в поле ответа; 404).

Проверка в игровой площадке: та же проблема и в поле ввода детской площадки с сообщением "Не удается связаться с сервером".

Начальная ошибка детской площадки:

{
  "error": "Response not successful: Received status code 404"
}

Детская площадка после привет-запроса:

{
  "error": {
    "data": {
      "hello": "Hello world!"
    }
  }
}

Браузер-Консоль Playground:

Error: "Response not successful: Received status code 404"

Это мой graphql-сервер, загруженный сейчас:

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

const typeDefs = gql`
    type Query {
        hello: String
    }
`;

const resolvers = {
    Query: {
        hello: () => 'Hello world!',
    },
};

const server = new ApolloServer({ typeDefs, resolvers,
                                    introspection: true, playground: true,
                                    subscriptions: {path: '/api'},
                                });

const app = express();
server.applyMiddleware({ app, path: "/api", cors: true });

module.exports = app;

Также попробовал этот пример. Та же проблема.

Может кто-нибудь сказать мне, как правильно запустить?

0 ответов

У меня была аналогичная проблема (сервер недоступен). Это была проблема с авторизацией. В документации GraphQL Playground упоминаетсяrequest.credentials настройка:

const server = new ApolloServer({
    typeDefs,
    resolvers,
    introspection: true,
    playground: {
      settings: {
        // So that auth works
        // Docs: https://github.com/prisma/graphql-playground
        ['request.credentials']: 'same-origin',
      },
    },
    subscriptions: {path: '/api'}
});
Другие вопросы по тегам