无法发布 /graphql
Posted
技术标签:
【中文标题】无法发布 /graphql【英文标题】:Cannot POST /graphql 【发布时间】:2019-04-01 20:19:42 【问题描述】:我正在尝试设置 graphiql API,但我在控制台的屏幕和网络选项卡上收到此错误,我不明白出了什么问题,因为我在其他项目中运行了相同的样板代码。我试过删除httpServer,尝试添加cors,检查了几乎所有与此错误相关的帖子但无法弄清楚,请建议Cannot POST /graphql
import express from 'express';
import createServer from 'http';
import bodyParser from 'body-parser';
import graphiqlExpress, graphqlExpress from 'apollo-server-express';
import makeExecutableSchema from 'graphql-tools';
import typeDefs from './graphql/schema';
import resolvers from './graphql';
const schema = makeExecutableSchema(
typeDefs,
resolvers
)
const app = express();
app.use(bodyParser.json());
//issue is here
app.use(
'/graphiql',
graphiqlExpress(
endpointURL: "/graphql"
)
);
app.use(
'/graphiql',
graphqlExpress(req => (
schema,
context:
user: req.user
)),
);
const httpServer = createServer(app);
httpServer.listen(3000, err =>
if (err)
console.error(err);
else
console.log(`App listen to port 3000`);
);
【问题讨论】:
【参考方案1】:您没有为/graphql
设置路由——graphqlExpress
和graphiqlExpress
中间件都与/graphiql
路由一起使用。只需更新路径:
app.use(
'/graphql',
graphqlExpress(req => (
schema,
context:
user: req.user
)),
);
【讨论】:
以上是关于无法发布 /graphql的主要内容,如果未能解决你的问题,请参考以下文章