引言
Serverless 架构是当今前端类应用中的一股强势势力,很多公司都倾向于使用 Serverless 架构来搭建应用。然而,为了构建一个符合需求的 Serverless API,你需要拥有扎实的编码能力和一定的项目经验,尤其是在前端中如何使用 GraphQL 构建 Serverless API。本文将向你介绍如何使用 GraphQL 构建符合要求的 Serverless API。
什么是 GraphQL
GraphQL 是一种用于 API 开发的数据查询语言,它使 API 请求更高效和准确,并能够减少响应体的大小,减轻服务器的压力。它由 Facebook 在 2015 年所开发,旨在解决 RESTful API 的种种问题。
GraphQL 定义了一种类型定义语言来描述数据模型,这个语言被称为 Schema,其描述了数据的类型、关系和查询规则。对于一个 GraphQL API,我们需要先对数据进行类型定义,然后实现相应的数据查询和修改操作。
为什么使用 GraphQL
与传统的 RESTful API 相比,GraphQL 在很多方面都有优越性:
精确性。RESTful API 查询时往往需要多次请求才能得到我想要的数据,而 GraphQL 可以精准地获取所需数据,避免了无用查询。这样,GraphQL 的查询效率相较于 RESTful API 更高。
灵活性。RESTful API 虽然功能全面,但需要事先定义好固定的返回数据结构和字段,而 GraphQL 查询时可以根据实际需要决定要查询那些数据和字段。
统一API。GraphQL 的 Schema 对类型和查询的定义具有强大的线上编译功能,这使得整个 Web 应用程序最终可以使用一种唯一的 API,减少了前端程序员和后端程序员之间的沟通成本。
怎样使用 GraphQL
在使用 GraphQL 之前,你需要安装并配置 GraphQL,然后定义好 GraphQL Schema。安装的方法很简单,可以使用 npm install 命令进行安装。
定义 Schema
对于一个 GraphQL API,我们需要先对数据进行类型定义,然后实现相应的数据查询和修改操作。在这部分,我们仅讲述如何定义 Schema。Schema 中主要包含以下几个部分。
- Type Definitions
Type Definitions 用来声明你的数据类型及它们之间的关系,它可以定义聚合对象、输入类型等。使用 GraphQL 的 type 属性来声明类型。
---- ------ - --- --- ----- ------- -
- Query
查询数据是一个应用程序的主要功能。在 GraphQL Schema 中,Query 是用来声明查询类型和返回值类型的。这部分可以理解为提供的 API 接口。
---- ----- - ------- --------- -
- Mutation
Mutation 与 Query 类似,不同的是它是用于执行修改操作。Mutation 包含了输入类型 和返回类型并带有参数。
---- -------- - --------------- -------------- ------- -
使用 GraphQL 客户端
接下来,我们需要使用 GraphQL 客户端来与后端服务器进行通信。常用的 GraphQL 客户端有 Apollo 和 Relay。这里以 Apollo 为例,我们简单介绍以下几个操作。
- 定义 API 对象
定义 API 对象包括定义类型、查询、和修改三个对象。
------ ------------ ---- --------------- ----- ------ - --- -------------- ---- ------------------------ --- ----- ----------- - ------- ---------- -- -------------- ------ ---------- ---------------- -- --------------- ----- -------------- - ---------- ---------- -- --------------- --------- ---------- ---
- 发送查询请求
在前端通过使用 clientQuery 函数发送请求就可以向后端服务发送查询请求,GraphQL 中查询请求的格式与返回数据格式一致。
----- ----- - ---- ----- ----------- - ------ - -- ---- - - -- -------------------
- 发送 Mutation 请求
在前端通过使用 clientMutation 函数发送请求就可以向后端服务发送修改请求。
----- -------- - ---- -------- ---------------- ------------- - --------------- ------ - -- ------------------------ - ----- - --- -- ----- ------- - ---
结论
在本文中,我们向大家介绍了如何使用 GraphQL 构建 Serverless API。首先我们介绍了 GraphQL 的优势,然后我们讲解了如何在前端中使用 GraphQL Serverless API,最后我们示范了访问 GraphQL API 的方式,从最简单的查询到 Mutation 请求,我们演示了使用 GraphQL 客户端如何发出请求查询数据以及修改数据。通过本文的学习,相信大家已经对 GraphQL 的使用有了更深刻的认识。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67389eb2317fbffedf11b5c6