知海

教程:运行 Express GraphQL 服务

graphql-github-io-zh-Hans指南与教程

教程:运行 Express GraphQL 服务

运行 GraphQL 最简单的方法是使用 Express(一个 Node.js 上流行的 web 应用框架)。你需要安装两个依赖库:

bash 复制代码
npm install express express-graphql graphql --save

现在我们来改进"hello world"示例,将它从一个只能执行单个查询的简单脚本变成一个 API 服务器。使用 express 模块运行服务器,不再直接调用 graphql 函数执行查询,而是使用 express-graphql 库构建一个 GraphQL API 服务器,响应入口端点为 /graphql 的 HTTP 请求。

javascript 复制代码
var express = require('express');
var { graphqlHTTP } = require('express-graphql');
var { buildSchema } = require('graphql');

// 使用 GraphQL Schema Language 创建一个 schema
var schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// root 提供所有 API 入口端点相应的解析器函数
var root = {
  hello: () => {
    return 'Hello world!';
  },
};

var app = express();
app.use('/graphql', graphqlHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true,
}));
app.listen(4000);
console.log('Running a GraphQL API server at http://localhost:4000/graphql');

用以下命令启动该 GraphQL 服务器:

bash 复制代码
node server.js

由于我们对 graphqlHTTP 设置了 graphiql: true,你可以使用 GraphiQL 工具来手动执行 GraphQL 查询。若使用浏览器浏览 http://localhost:4000/graphql,你会看到一个可以输入查询语句的界面。它看起来是这样的:

hello world graphql example

截图显示,向 GraphQL 查询 { hello },返回结果为 { data: { hello: 'Hello world!' } }。GraphiQL 是调试和检查服务器的绝佳工具,我们建议在应用开发阶段一直使用它。

看到这里,你已经学习了如何运行一个 GraphQL 服务器,以及如何使用 GraphiQL 界面执行查询。接下来学习 从客户端代码中发起 GraphQL 查询

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。