GraphQL 是一种用于 API 的查询语言,它提供了一种更高效、更强大、更灵活的方式来获取数据。Fastify 是一个快速、低开销的 Web 框架,它提供了一种简单、易用的方式来构建高度可扩展的 Web 应用程序。在本文中,我们将介绍如何使用 Fastify 实现 GraphQL API。
安装 Fastify 和相关插件
首先,我们需要安装 Fastify 和相关的插件。在终端中运行以下命令:
npm install fastify fastify-graphql graphql
这将安装 Fastify、Fastify GraphQL 和 GraphQL。
创建 Fastify 应用程序
接下来,我们将创建一个 Fastify 应用程序。在代码编辑器中创建一个新文件,命名为 app.js
。在文件中添加以下代码:
const fastify = require('fastify')() fastify.listen(3000, (err, address) => { if (err) throw err console.log(`Server listening on ${address}`) })
这将创建一个 Fastify 应用程序,并将其监听在端口 3000 上。
添加 GraphQL API
接下来,我们将添加 GraphQL API。在 app.js
文件中添加以下代码:
-- -------------------- ---- ------- ----- - -------- ----------- - - ------------------ ----- - --------------- --------------- - - -------------------------- ----- ------ - ------------- ---- ----- - ------ ------ - -- ----- ---- - - ------ -- -- ------ ------- - -------------------------------- - ------- ---------- ----- --------- ---- -- --------------------------------- - ------------ ---------- --
这将创建一个简单的 GraphQL API,该 API 包含一个名为 hello
的查询,该查询返回字符串 Hello world!
。我们使用 buildSchema
函数创建了一个 GraphQL schema,该 schema 包含一个名为 Query
的类型,该类型包含一个名为 hello
的字段。
我们还创建了一个名为 root
的对象,该对象包含一个名为 hello
的函数,该函数返回字符串 Hello world!
。我们将该对象传递给 graphqlFastify
插件的 rootValue
选项,以便 Fastify 知道如何解析 GraphQL 查询。
最后,我们注册了 graphqlFastify
插件和 graphiqlFastify
插件。graphqlFastify
插件用于处理 GraphQL 查询,graphiqlFastify
插件用于提供一个 Web 界面,以便我们可以轻松地测试 GraphQL API。
运行 Fastify 应用程序
现在,我们已经创建了 Fastify 应用程序并添加了 GraphQL API。在终端中运行以下命令来启动应用程序:
node app.js
现在,在浏览器中打开 http://localhost:3000/graphql
,我们可以看到 GraphiQL 界面。在左侧的查询编辑器中输入以下查询:
{ hello }
然后,单击右侧的运行按钮。我们应该会看到以下响应:
{ "data": { "hello": "Hello world!" } }
这表明我们的 GraphQL API 正确地返回了字符串 Hello world!
。
总结
在本文中,我们介绍了如何使用 Fastify 实现 GraphQL API。我们安装了 Fastify 和相关插件,创建了 Fastify 应用程序,并添加了 GraphQL API。我们还使用 GraphiQL 界面测试了我们的 API。这应该为您提供了一个良好的起点,以便您可以开始构建更复杂的 GraphQL API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65f2a7082b3ccec22fb3d5c4