Logo
Section 1 / 10

REST API

涵盖 AWS API Gateway 中公共 REST API 的重要理论方面。

导入

REST API

涵盖 AWS API Gateway 中公共 REST API 的重要理论方面。

什么是 REST API?

Representational State Transfer(REST)API 是当今最常见且最受欢迎的 API 规范。它之所以流行,是因为其简洁性和可扩展性。AWS 提供的大多数 Web 服务都是 REST API。因此,API Gateway 为我们提供了对 REST API 开发的强大支持。

AWS API Gateway 中的 REST API

任何 REST API 定义都包含三个组成部分:URL、HTTP 方法以及请求/响应负载的定义。下面我们来看看如何在 AWS API Gateway 中实现这些功能。

打开“AWS 控制台 - API Gateway”页面,查看上一章创建的 API。

...
REST API

我们可以看到,系统已创建了一个带有区域端点(Regional endpoint)的 REST API。

...
资源和方法

点击链接查看详细信息:

...
资源中的方法

资源与方法

现在复杂性开始逐步显现。API Gateway 中的 REST API 有两个核心概念:资源 和 方法。

API Gateway 中的任何 API 都可以包含多个资源,每个资源又可以包含多个方法。最终,每个带有方法的资源都会在 API Gateway 上配置一个唯一的集成。

这具体意味着什么?API 拥有一个基础 URL 用于调用,但其中包含多个不同的端点。我们的“Hello World”API 端点看起来像 https://{baseurl}/hello。

这里的 hello 就是一个资源。我们可以在同一个 API 中设置多个端点,例如 https://{baseurl}、https://{baseurl}/res1、https://{baseurl}/res1/res2 等等。每个端点都可以支持不同的 HTTP 方法(GET、POST、PUT、DELETE、PATCH 和 OPTIONS)。

因此,我们可以有六种方式来调用 https://{baseurl}/hello 这个端点。

集成

在上一章创建的“Hello World”示例中,我们通过使用 ANY 方法将所有方法映射到同一个 Lambda 函数。

这种将外部 API 请求映射到云资源的行为称为集成请求。

...
API Lambda 集成

API Gateway 提供了五种集成方式:Lambda 函数、HTTP 集成、Mock 集成、AWS 服务或 VPC 连接。我们将在后续课程中逐一讲解。

简单来说,这部分定义了传入的 API 请求对我们意味着什么。我们还可以对传入的数据进行处理,修改其值或头部信息。我们将通过单独的课程深入理解每一种方式。

...
方法请求

REST API 可以在 方法请求 上进行配置。在这里,我们可以添加诸如负载验证、授权、头部验证等特殊功能。

...
集成响应

正如集成请求将传入请求映射到云端实体一样,集成响应 则负责将 API 的响应进行映射和转换。

...
方法响应

最后,方法响应 对 API 的响应进行验证并修正。

阶段与部署

AWS 并不会在我们填写完所有信息后立即部署 API。在完成所有必要的配置更改后,必须显式地将 API 部署到指定的 阶段(stage)。这有助于管理测试环境和生产环境,或用于版本控制。

...
部署阶段

如上图所示,我们的 API 已部署到 v1 阶段。在不改变当前部署的前提下,我们可以继续修改并将其部署到 v2 阶段。这使得使用 API Gateway 实现蓝绿部署变得非常容易。

API 网关简介

HTTP API