前言
GraphQL 是一个新兴的服务端API查询语言和运行时,可以在多种客户端语言中进行操作,如JavaScript,iOS,Android,Java等。GraphQL 可以极大地提高API查询的效率和可预测性,并且更加灵活。
但是GraphQL本身是一个规范性语言,需要一个运行时才能够使用。GraphQL-Yoga 就是一个基于Node.js的快速、易用、一致的GraphQL服务器,它内置了各种有用的功能,具有高度可配置性,可靠且易于扩展。
本文将详细介绍如何在 GraphQL 中使用 GraphQL-Yoga 实现服务端,以及如何构建一个简单的 GraphQL 应用程序。
构建 GraphQL-Yoga 应用程序
首先,我们需要安装 GraphQL-Yoga。运行以下命令:
npm install graphql-yoga
然后,在你的应用程序根目录下,创建一个新文件 index.js,这将是我们的首页文件。
-- -------------------- ---- ------- ----- - ----------- - - ------------------------ ----- --------- - --- -- ----------- ----- ------ - --- ------------- --------- ------------------- -- -------- ---------- -- --------- --- --------------- -- - -------------------- ---- ---------- -- ----- ---
编写 GraphQL 模式
GraphQL 应用程序的数据模型由模式文件定义。这个文件通过描述所有可用的查询项来定义你的API,包括数据类型、字段、查询和变量。
在你的应用程序根目录下,创建一个名为 schema.graphql 的新文件,这将是你的模式文件,内容如下:
type Query { hello: String }
这是一个非常简单的模式文件,其中包含了一个叫做 hello 的字段,它会返回一个字符串类型的数据。
编写解析器函数
解析器是类似于控制器的函数,它负责查询你的数据模型,执行任何所需的转换,并返回响应。每个解析器都与你的数据模型上一个特定的字段相关联。
在 index.js 文件中,添加以下代码以编写解析器函数:
-- -------------------- ---- ------- ----- - ----------- - - ------------------------ ----- --------- - - ------ - ------ -- -- ------ -------- -- -- ----- ------ - --- ------------- --------- ------------------- ---------- --- --------------- -- - -------------------- ---- ---------- ---
这段代码定义了 hello 解析器函数,它简单的返回了一个字符串“Hello World!”。
进行查询
现在,我们已经设置好了我们的 GraphQL 应用程序,我们可以使用 GraphQL Playground 应用程序进行查询。
例如,在你的 GraphQL Playground 应用程序中,执行以下查询:
query { hello }
你会得到以下响应:
{ "data": { "hello": "Hello World!" } }
总结
GraphQL-Yoga 是一个快速、易用、一致的 GraphQL 服务器。通过使用 GraphQL-Yoga,可以轻松的构建出使用 GraphQL 的应用程序,并且可以轻松添加解析器函数来查询你的数据模型。
本文介绍了如何在 GraphQL 中使用 GraphQL-Yoga 实现服务端,包括构建一个简单的 GraphQL 应用程序的各种步骤。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65b5d182add4f0e0ffe8f3a7