nodejs mysql graphql,带有Graphql的nodejs

I am facing an issue, while trying graphQL. I guess I am doing something wrong at schema or resolver. Everything according to docs but still not able to get the data.

What Do I need is very simple user model to run its queries in graphiql.

Here is my code: Download code (zip file) (code for node-7.5)

and then just run npm install and npm run build.

Main files: server.js, schema.js, models/user.js and resolvers/user.js.

models/user.js

const typeDefinitions = `

type User {

id: String!

name: String

type: Int

isActive: Boolean

clients: [String]

}

schema {

query: User

}

`;

export default [typeDefinitions]

resolvers/user.js:-

const resolverMap = {

User: {},

};

export default resolverMap

schema.js

import { makeExecutableSchema } from 'graphql-tools';

import resolver from '../resolvers/user'

import User from './user';

export default makeExecutableSchema({

typeDefs: User,

resolvers: resolver,

});

server.js:-

import express from 'express';

import bodyParser from 'body-parser';

import routes from './app/routers/index';

import { graphqlExpress } from 'graphql-server-express';

import schema from './app/models/schema'

var app = express(); // create our app w/ express

var database = require('./app/configs/database');

var port = process.env.PORT || 8888; // set the port

app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users

app.use(morgan('dev')); // log every request to the console

app.use(bodyParser.urlencoded({ 'extended': 'true' })); // parse application/x-www-form-urlencoded

app.use(bodyParser.json()); // parse application/json

app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/vnd.api+json as json

app.use('/graphql', bodyParser.json(), graphqlExpress({

graphiql: true,

pretty: true,

schema: schema

}));

app.listen(port);

console.log("App listening on port : " + port);

解决方案import { graphiqlExpress } from 'graphql-server-express';

app.use('/graphiql', graphiqlExpress({

endpointURL: '/graphql',

}));

You need to use above code,

graphiql: true is not supported anymore I guess,

You need to import a graphiql method and pass an endpoint for the same

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值