У меня есть простой экспресс-сервер 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.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
в заголовке Content-Type - в настоящее время у вас есть text/plain
. Вы включили промежуточное программное обеспечение для анализатора на сервере, но оно полагается на этот заголовок в вашем запросе, чтобы знать, когда ему нужно разбирать ответ в JSON.
schema,
наschema: schema,