[GraphQL] Serve a GraphQL Schema as Middleware in Express

发布时间:2017-3-25 9:57:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"[GraphQL] Serve a GraphQL Schema as Middleware in Express ",主要涉及到[GraphQL] Serve a GraphQL Schema as Middleware in Express 方面的内容,对于[GraphQL] Serve a GraphQL Schema as Middleware in Express 感兴趣的同学可以参考一下。

[GraphQL] Serve a GraphQL Schema as Middleware in Express

If we have a GraphQL Schema expressed in terms of JavaScript, then we have a convenient package available to us that let’s us easily serve up our schema on any endpoint in an Express Server. In this video, we’ll use the express-graphql package to serve up our GraphQL Schema as middleware, and also learn how to enable the GraphiQL tool in order to query our GraphQL Schema.

Install:

yard add express express-graphql graphql
const express   = require('express');
const graphqlHttp = require('express-graphql');

const server = express();
const port   = process.env.PORT || 3000;

const { graphql, buildSchema } = require('graphql');

const schema = buildSchema(`
    type Video {
        id: ID,
        title: String,
        duration: Int,
        watched: Boolean
    }
    
    type Query {
        video: Video,
        videos: [Video]
    }
    
    type Schema{
        query: Query
    }
`);

const videos = [
    {
        id       : '1',
        title    : 'react',
        duration : 180,
        watched  : true
    },
    {
        id       : '2',
        title    : 'relay',
        duration : 230,
        watched  : false
    }
];

const resolvers = {
    video  : () => ({
        id       : '1',
        title    : 'bar',
        duration : 180,
        watched  : true
    }),
    videos : () => videos
};

server.use('/graphql', graphqlHttp({
                                     schema,
                                     graphiql  : true, // use graphiql interface
                                     rootValue : resolvers
                                 }));

server.listen(port, () => {
    console.log(`Listening on http`)
})

We use 'graphql' middleware, once we visit http://localhost:3000/graphql and enter the query:

{
  videos {
    id
    title
    duration
    watched
  }
}

Then we can get the result.

上一篇:Window Azure ServiceBus Messaging消息队列技术系列2-编程SDK入门
下一篇:linux 最小安装 需要的后续操作

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款