禁用Playground时,缺少阿波罗服务器返回的GET查询

时间:2019-10-28 17:49:08

标签: graphql apollo apollo-server

当我模拟production(又名playground is disabled)并进入根目录http://localhost:9000/时,我收到以下响应:

400 Bad Request

GET query missing

是否有一种方法可以防止这种情况或解决方法来渲染其他页面?

我对阿波罗很陌生。我仅使用apollo-server(无快递)。我将不胜感激。

3 个答案:

答案 0 :(得分:1)

使用 apollo-server-xxx 的默认配置,您需要向 POST 端点发送一个 /graphql 请求,请求正文是一个 graphql 字符串。

我遇到了同样的问题,因为我发送的是 GET 请求而不是 POST

答案 1 :(得分:0)

apollo-server仅用于公开GraphQL API。为方便起见,它在开发中配置的任何路径(默认为/graphql处公开GraphQL Playground实例。但是,Apollo Server本身并不旨在用于提供其他内容。如果需要此功能,请使用诸如apollo-server-expressapollo-server,hapiapollo-server-koa之类的东西将ApolloServer与Web应用程序框架(如Express)集成,然后使用该框架来提供您需要的任何其他内容想要。

答案 2 :(得分:0)

使用playground: true

const server = new ApolloServer({
    introspection: true,
    playground: true,
    typeDefs,
    resolvers,
})