Javascript Graphql:必须提供查询字符串
我有一个简单的express graphql服务器:Javascript Graphql:必须提供查询字符串,javascript,node.js,express,graphql,relay,Javascript,Node.js,Express,Graphql,Relay,我有一个简单的express graphql服务器: const schema = require('./schema'); const express = require('express'); const graphqlHTTP = require('express-graphql'); const cors = require('cors') const bodyParser = require('body-parser'); const app = express(); app.us
const schema = require('./schema');
const express = require('express');
const graphqlHTTP = require('express-graphql');
const cors = require('cors')
const bodyParser = require('body-parser');
const app = express();
app.use(cors());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use('/graphql', graphqlHTTP(req => {
return ({
schema,
pretty: true,
})
}));
const server = app.listen(9000, err => {
if (err) { return err; }
console.log(`GraphQL server running on http://localhost:${9000}/graphql`);
});
我的请求如下:
有什么帮助吗?
(请不要将其作为副本关闭,因为另一篇文章没有提供关于用户如何解决它的足够信息)您需要在内容类型标题中指定
application/json
——您当前有text/plain
。您已经在服务器上包含了主体解析器中间件,但它依赖于请求中的该标头来知道何时需要将响应解析为JSON。尝试将schema、
替换为schema:schema、
@ChrisG如果它不理解语法,它将抛出语法错误。@ChrisG在ES6{schema}
相当于{schema:schema}
。是糖!好眼力,这看起来像个虫子。