简体   繁体   中英

Why I'm getting the error “Must provide query string.” express-graphql?

I'm beginning with graphql on express. I'm getting the error "Must provide query string." when I access to the route for it.

It's an express app. Here is my app.js

 var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); let bodyParser = require('body-parser'); var cors = require('cors'); const graphqlHTTP = require('express-graphql'); const MySchema = require('./schema/schema'); app.use(cors()); app.use(logger('dev')); app.use(bodyParser.urlencoded({extended: true})); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/graphql', graphqlHTTP({ schema: MySchema, graphiql: true, })); 

And my shema is:

 const graphql = require('graphql'); const { GraphQLObjectType, GraphQLString, GraphQLSchema, GraphQLList } = graphql; //MODELS FROM MONGOOSE const Entidad = require('../models/entidad'); //TYPES GRAPHQL const EntidadType = new GraphQLObjectType({ name: 'Entidad', fields : () => ({ id : {type : GraphQLString}, nombre : {type : GraphQLString}, created_at : { type : GraphQLString}, updated_at : { type : GraphQLString}, }) }); //ROOT QUERY const RootQuery = new GraphQLObjectType({ name : 'RootQueryType', fields : { entidad : { type: EntidadType, args: {id:{type: GraphQLString}}, resolve(parent, args){ //code to get data from db return Entidad.findById(args.id); } } } }); module.exports = new GraphQLSchema({ query: RootQuery }); 

I don't know why I'm getting the error when open graphiql.

I test other examples and give me the same error, maybe there is some part that I missed....

Some idea?

Well, I commented the line of body-parser and I fix the problem, the other problem is because I don't have a rootValue into the route of graphql. I tested the queries and it's all ok. Thanks.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM