Node Express GraphQL server
GraphiQL IDE
进行测试mkdir graphql-example cd graphql-example npm init
npm install --save apollo-server-express graphql-tools graphql express body-parser
为了突出关键点,省略完整代码完整代码移步 quick-start.jshtml
quick-start.js
vi quick-start.js
// GraphQL schema const typeDefs = ` type Query { books: [Book] } type Book { title: String, author: String } `
// resolvers const resolvers = { Query: {books: () => books} }
const schema = makeExecutableSchema({ typeDefs, resolvers })
GraphQL 数据服务
app.use('/graphql', bodyParser.json(), graphqlExpress({schema}))
GraphIQL IDE
app.use('/graphiql', graphiqlExpress({endpointURL: '/graphql'}))
node quick-start.js
GraphiQL IDE
编辑器输入网址 http://localhost:3000/graphiql
你能够试着改变查询条件
{ books { title author } }
URL
是代码中定义的路由 Request URL: http://localhost:3000/graphql?
GraphiQL IDE
默认用 POST
方式{ "query": "{\n books {\n title\n author\n }\n}\n", "variables": null, "operationName": null }
query
查询体
variables
参数
operationName
操做名称