что не так с этой схемой graphql, сервер запускается, но локальный хост не загружается? - PullRequest
0 голосов
/ 14 июля 2020

Я создаю сервер GraphQL, используя Node JS. Сервер работает, но http://localhost: 3000 / graphql не отвечает.

Я создал объект UserType, CabType и BookingType из GraphQLObjectType следующим образом:

const UserType = new GraphQLObjectType({
    name: 'User',
    fields: () => ({
        uid: { type: GraphQLString },
        name: { type: GraphQLString },
        age: { type: GraphQLString },
        bookings: {
            type: BookingType,
            resolve(parent, args) {
                // code getting bookings of that user
            }
        }
    })
});
 

const CabType = new GraphQLObjectType({
    name: 'Cab',
    fields: () => ({
        cid: { type: GraphQLString },
        name: { type: GraphQLString },
        age: { type: GraphQLInt }
    })

});


const BookingType = new GraphQLObjectType({
    name: 'Booking',
    fields: () => ({
        bid: { type: GraphQLString },
        uid: { type: GraphQLString },
        cid: { type: GraphQLString },
        from: { type: GraphQLString },
        to: { type: GraphQLInt }
    })

});

Здесь RootQuery и RootMutation означают alos GraphQLObjectType содержит fields как user, cab и booking

    const RootQuery = new GraphQLObjectType({
        name: 'RootQueryType',
        fields: {
            user: {
                type: UserType,
                args: {
                    uid: { type: GraphQLString }
                },
                resolve(parent, args) {
                    //code to get user data from db
                }
            },
    
            Cab: {
                type: CabType,
                args: {
                    cid: { type: GraphQLString }
                },
                resolve(parent, args) {
    
                    //code for getting all the cabs
    
                }
    
            },
    
            Booking: {
                type: BookingType,
                args: {
                    uid: { type: GraphQLString }
                },
                resolve(parent, args) {
    
                    //code for getting all the bookings by user with id
    
                }
            }
        }
    
    });
    
    
    
    
    
    const RootMutation = new GraphQLObjectType({
    
        name: 'Mutation',
        fields: {
            addUser: {
                type: UserType,
                args: {
                    name: { type: GraphQLString },
                    email: { type: GraphQLString },
                },
    
                resolve(parent, args) {
    
                    let user = new user({
                        name: args.name,
                        email: args.email
                    });
    
                    return user.create();
                    //add user code db
                }
            }
        }
    });
    

Здесь схема graphql GraphQLScema экспортировано в файл сервера, сервер запускается, но localhost не отвечает на маршрут graphql.

    module.exports = new GraphQLSchema( {
        query: RootQuery,
        mutation: RootMutation
    });


...