了解 API 和 API 代理

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

借助 Apigee,您可以轻松、快速构建可供应用开发者使用的 RESTful API。通过构建充当后端服务托管“Facade”的 API 代理,可在 Apigee 上公开 API。本主题讨论 Apigee 上 API 与 API 代理之间的关系。

视频:观看此视频短片,了解 API 代理。

什么是 API?

API 是可以让一个应用轻松使用来自另一个应用的功能或数据的接口consume。通过定义稳定且简化的应用逻辑和数据入口点,API 可让开发者轻松访问和重复使用其他开发者构建的应用逻辑。对于 Web API,该逻辑和数据会通过网络公开。

由于使用 API 的应用对更改很敏感,因此 API 还暗含合同。此合同提供一定程度的保证,即随着时间的推移,API 会以可预测的方式发生变化。

借助 Apigee,您可以构建 API;如果您已经拥有 API,则直接公开这些 API,同时添加管理和可见性层。如果您有启用 HTTP 的服务(例如基于 SOA 的网络服务),则这些服务也可以通过 Apigee 作为 API 公开。

此外,借助 Apigee,您还可实现 API 服务平台上托管的应用,而无需相关后端服务,从而构建 API。您可以使用 JavaScript 和 Java 构建这些应用。

什么是 API 代理?

您可以通过实现 API 代理在 Apigee 上公开 API。API 代理将面向应用的 API 与后端服务分离,从而保护这些应用免受后端代码更改的影响。当您对服务进行后端更改时,应用会继续调用相同的 API,而不会中断。

API 代理配置中有两种类型的端点:

  • ProxyEndpoint:定义客户端应用使用您的 API 的方式。您可配置 ProxyEndpoint 来定义 API 代理的网址。代理端点还确定应用是通过 HTTP 还是 HTTPS 访问 API 代理。通常情况下,您可以将政策附加到 ProxyEndpoint 以强制执行安全性、配额检查,以及其他类型的访问权限控制和速率限制。
  • TargetEndpoint:定义 API 代理与后端服务互动的方式。您可配置 TargetEndpoint 以将请求转发到正确的后端服务,包括定义任何安全设置、HTTP 或 HTTPS 协议以及其他连接信息。您可以将政策附加到 TargetEndpoint,以确保针对发出初始请求的应用设置正确的响应消息格式。

如下图所示,您可以直观呈现 API 代理:

HTTP 请求通过代理请求端点进入,传递到目标请求端点,然后发送到后端服务。HTTP 响应通过目标响应端点进入,传递到代理响应端点,然后返回客户端。

API 代理类型

Apigee 支持两种代理类型:

  • 标准代理仅包括标准政策。标准代理适用于轻量级 API 解决方案,并且无法包含在 API 产品中。
  • 可扩展代理包括至少一个可扩展政策或流钩子。与标准代理相比,可扩展代理可以包含更多功能。

如何创建 API 代理?

API 代理由一组 XML 配置文件和代码(例如 JavaScript 和 Java)组成。Apigee 为您提供了几种创建 API 代理的方法,其中包括:

  • 使用 Apigee 界面在图形界面 (GUI) 中定义 API 代理。如需了解详情,请参阅构建简单的 API 代理
  • 创建 XML 文件以及任何其他支持文件来定义 API 代理,然后将其导入 Apigee。
  • 使用 Apigee API 向 Apigee 发出一系列 REST 请求,以创建您的 API 代理。
  • 使用 Apigee in VS Code 进行本地开发,并将其部署为归档。如需了解详情,请参阅使用 Apigee 进行本地开发概览

什么是 API 代理修订版本?

API 代理修订版本提供了一种轻量级机制,用于在迭代时管理 API 代理配置的更新。系统会依序对修订版本进行编号,以便您可通过部署先前 API 代理的修订版本来还原更改。通过修订版本,您可以将 API 代理部署到生产环境中,同时继续在测试环境中创建该 API 代理的新修订版本。准备就绪后,您可以将 API 代理的更高修订版本从测试提升为生产。

什么是政策?

借助 Apigee,您可以使用政策控制 API 行为,而无需编写任何代码。在代理请求/响应流中,政策就像一个实现特定受限管理功能的模块。这些政策旨在让您能够轻松可靠地向 API 添加常见的管理功能类型。政策提供安全、速率限制、转换和中介功能等功能,让您无需自行编写代码和维护此功能。

创建您的第一个 API 代理

Apigee 提供了一系列教程,您可以使用这些教程来创建第一个 API。从构建您的第一个 API 代理开始。另请参阅其他使用入门主题

了解详情