GraphQL LogoGraphQL

GraphQL.js 入门

先决条件#

在开始之前,您应该安装 Node v6,尽管示例在之前版本的 Node 中也应该大部分可以工作。在本指南中,我们不会使用任何需要转译的语言特性,但我们会使用一些 ES6 特性,例如 Promisesclassesfat arrow functions,所以如果您不熟悉它们,您可能需要先阅读一下。

要创建一个新项目并在当前目录中安装 GraphQL.js

npm init
npm install graphql --save

编写代码#

为了处理 GraphQL 查询,我们需要一个定义 Query 类型的模式,并且我们需要一个 API 根,其中包含一个名为“解析器”的函数,用于每个 API 端点。对于一个只返回“Hello world!”的 API,我们可以将这段代码放在一个名为 server.js 的文件中

var { graphql, buildSchema } = require("graphql")
// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
type Query {
hello: String
}
`)
// The rootValue provides a resolver function for each API endpoint
var rootValue = {
hello: () => {
return "Hello world!"
},
}
// Run the GraphQL query '{ hello }' and print out the response
graphql({
schema,
source: "{ hello }",
rootValue,
}).then(response => {
console.log(response)
})

如果您使用以下命令运行它

node server.js

您应该会看到打印出来的 GraphQL 响应

{
data: {
hello: "Hello world!"
}
}

恭喜 - 您刚刚执行了一个 GraphQL 查询!

对于实际应用,您可能希望从 API 服务器运行 GraphQL 查询,而不是使用命令行工具执行 GraphQL。要将 GraphQL 用于 HTTP 上的 API 服务器,请查看 运行 Express GraphQL 服务器

继续阅读 →运行 Express GraphQL 服务器