2017-02-21 17 views
0

Я столкнулся с проблемой, пытаясь использовать graphQL. Я думаю, что я делаю что-то неправильно в схеме или резольвере. Все в соответствии с документами, но все еще не в состоянии получить данные.nodejs with Graphql

Что мне нужно, это простая пользовательская модель для запуска своих запросов в графике.

Вот мой код: Download code (zip file) (код узла-7,5) , а затем просто запустить НПМ установить и НПМ перспективе построить.

Главные файлы: server.js, schema.js, models/user.js и resolvers/user.js.

модели/user.js

const typeDefinitions = ` 
type User { 
    id: String! 
    name: String 
    type: Int 
    isActive: Boolean 
    clients: [String] 
} 
    schema { 
    query: User 
} 
`; 
export default [typeDefinitions] 

резольверы/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); 
+0

, что ошибка, которую вы получаете, вы можете пожалуйста, укажите –

+1

Это говорит: «Получить запрос отсутствует». И нет графического интерфейса пользователя. Простая пустая страница с одним сообщением. – user1893034

ответ

0
import { graphiqlExpress } from 'graphql-server-express'; 
app.use('/graphiql', graphiqlExpress({ 
    endpointURL: '/graphql', 
})); 

Вы должны использовать выше код,

graphiql: true не поддерживаются больше я думаю, Вы должны импортировать метод graphiql и передать конечную точку для тех же