GraphQL 是一种新型的 API 查询语言,它能够提供更加灵活和高效的数据查询和操作方式。在现代 Web 应用程序中,使用 GraphQL API 已经成为了越来越流行的选择。本文将介绍如何将 GraphQL API 添加到现有的 Express 应用程序中,并提供详细的学习和指导意义。
准备工作
在开始之前,需要确保已经安装了以下软件:
- Node.js
- Express
- GraphQL
如果还没有安装,可以通过以下命令进行安装:
# 安装 Node.js sudo apt-get install nodejs # 安装 Express npm install express # 安装 GraphQL npm install graphql
创建 GraphQL Schema
在添加 GraphQL API 之前,需要先创建一个 GraphQL Schema。Schema 是一种定义 GraphQL API 查询和操作的方式。以下是一个简单的 Schema 示例:
-- -------------------- ---- ------- ----- - ----------- - - ------------------- ----- ------ - ------------- ---- ----- - ------ ------ - --- -------------- - -------
这个 Schema 定义了一个名为 hello
的查询,返回一个字符串类型的结果。
创建 Express 应用程序
接下来,需要创建一个 Express 应用程序并将 GraphQL API 集成进去。以下是一个简单的 Express 应用程序示例:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ----------- - --------------------------- ----- ------ - -------------------- ----- --- - ---------- ------------------- ------------- ------- --------- ----- ---- ---------------- -- -- - -------------------- --- ------ -- ------- -- -------------------------------- ---
这个应用程序将 GraphQL API 暴露在 /graphql
路径上,并启用了 GraphiQL 工具,可以在浏览器中方便地测试 GraphQL API。
添加 Resolvers
现在,需要添加 Resolvers 来实现对 GraphQL 查询的处理。Resolvers 是一种将 GraphQL 查询映射到实际数据的方式。以下是一个简单的 Resolver 示例:
const resolvers = { hello: () => { return 'Hello World!'; }, }; module.exports = resolvers;
这个 Resolver 实现了 hello
查询,并返回了一个字符串类型的结果。
将 Resolvers 添加到 Schema 中
最后,需要将 Resolvers 添加到 Schema 中。以下是一个简单的代码示例:
-- -------------------- ---- ------- ----- - -------------------- - - ------------------------- ----- -------- - -------------------- ----- --------- - ----------------------- ----- ------ - ---------------------- --------- ---------- --- -------------- - -------
这个代码将 Resolvers 添加到了之前创建的 Schema 中,并将其导出。
测试 GraphQL API
现在,可以通过浏览器访问 http://localhost:4000/graphql
来测试 GraphQL API。在 GraphiQL 工具中,输入以下查询:
{ hello }
运行查询后,应该会得到以下结果:
{ "data": { "hello": "Hello World!" } }
总结
在本文中,我们学习了如何将 GraphQL API 添加到现有的 Express 应用程序中。我们创建了一个简单的 Schema 和 Resolver,并将其添加到了 Express 应用程序中。最后,我们通过浏览器测试了 GraphQL API,成功得到了查询结果。希望本文能够对你理解 GraphQL API 的实现方式有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/656ebe46d2f5e1655d6fcc99