示例列表

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

Apigee Edge API 示例包含示例 API 代理、政策、代码和工具,这些示例 说明了下文介绍的 Apigee Edge API 服务的各项功能。

如需了解如何使用这些示例,请参阅使用示例 API 代理

在实践中学习

想快速上手并开始构建有关 Apigee Edge 的扎实知识库?我们在 GitHub 中提供了一个“learn-edge”示例库,可让您快速部署、调用、 和跟踪一些示例代理,从最简单的代理开始,逐步了解说明 API 密钥验证、配额、响应缓存、故障处理等的代理。

克隆代码库并设置环境(只需几分钟)后,您可以试用每个示例,只需不到一分钟。由于每个示例都会创建同一代理的新 修订版本,因此您的环境不会因大量示例而变得杂乱无章。您可以 随时切换修订版本、在管理界面中重新部署不同的修订版本,并查看代理代码 。每个示例的自述文件还会简要介绍示例的作用以及设置方式 。

快来试用一下吧!https://github.com/apigee/api-platform-samples/tree/master/learn-edge

文档实战宝典示例

我们为 API 代理实战宝典主题提供了一组示例。

名称 说明 政策类型 资源
javascript-cookbook 演示了一个简单的 JavaScript 代码段,该代码段从变量添加 HTTP 标头, 将 XML 格式的天气报告从 JSON 转换为 XML,并为移动客户端缩减内容。

JavaScript
XMLToJSON

minimize.js
setHeaders.js
javascript-mashup-cookbook 一个完整的 JavaScript 应用,用于调用公共 API、合并结果,并为客户端应用生成丰富的响应。(注意:此 API 代理实现的功能与 policy-mashup 相同,这表明可以使用不同的技术解决相同的问题。) JavaScript MashItUp.js
java-hello 简单的 Hello World Java callout。 JavaCallout JavaHello.java
java-cookbook 将响应内容和标头转换为大写。 JavaCallout
ResponseUppercase.java
java-properties 演示如何在 Java 调出中使用属性。 JavaCallout JavaProperties.java
java-error 演示可在 Java 调出代码中使用的错误处理模式。 JavaCallout JavaError.java
policy-mashup-cookbook 一个完整的应用,它使用政策组合调用两个公共 API、合并 结果,并为客户端应用生成丰富的响应。(注意:此 API 代理 实现的功能与 javascript-mashup 相同,这表明可以使用不同的技术解决相同的问题。) AssignMessage
ServiceCallout
ExtractVariables
JavaScript
XMLToJSON
GenerateResponse.js

示例 API 代理

以下 API 代理位于 GitHub 中,其自述页面提供了详细 说明。如果您对示例中特定政策的工作方式感兴趣, 请在下面的“政策类型”列中查找您感兴趣的政策,然后点击“名称”列中的示例 名称。(这些政策会链接到文档中各自的参考页面。)

参考文档和工具

除了上表中的文档实战宝典示例和示例代理之外,Edge GitHub 示例还包含以下 资源:

名称 说明 政策类型 资源
regex-protection 正则表达式威胁防护政策可以保护您的后端 API 和 微服务免受 SQL 注入攻击。

正则表达式保护措施

不适用
oauth-validate-key-secret 您正在实现 OAuth 密码授权类型流程。您需要在 Edge 上验证应用客户端密钥和密码,然后才能调用外部身份提供商来验证用户的凭据。 OAuthV2 不适用
condition-pattern-matching 借助此代理,您可以轻松试用和测试 API 代理 流程中的条件语句。 AssignMessage 不适用
access-entity 展示如何从 Apigee Edge 数据存储区检索实体的配置文件。 AssignMessage
AccessEntity
ExtractVariables
apikey 实现简单的 API 密钥验证 VerifyAPIKey
AssignMessage
Quota
async-callout 演示使用 JavaScript httpClient 的简单异步调出。 JavaScript assemble_response.js
callout.js
base64encoder 演示如何从 API 代理中的 JavaScript 资源调用 JavaScript include。 AssignMessage
JavaScript
core-min.js
enc-utf16-min.js
enc-base64-min.js
encodeAuthHeader.js
conditional-policy 实现简单的条件政策强制执行。当请求包含 HTTP 标头 responsetime:true 时,政策会执行一个 Python 脚本,该脚本会将一组性能 指标作为 HTTP 标头添加到响应消息中 脚本 (Python) timer.py
dynamic-endpoint 在稍复杂的场景中实现简单的条件路由,该场景定义了 两个网址和一个默认路由。
jira-release-notes 这是 Apigee 文档团队用于从 Jira 生成版本说明的 API 代理。 JSONToXML
XSL
releasenotes_api.xsl
kerberos-credential-mediation 此示例展示了如何在 Apigee Edge 上执行 Kerberos 凭据中介。 JavaCallout Java JAR 文件
oauth-advanced 一个完整的授权代码授权类型流程工作示例,其中 Apigee Edge 作为授权服务器。

GenerateAccessToken
GenerateAuthCode
RefreshAccessToken

还有许多其他示例...

请参阅示例代码
oauth-client-credentials 演示为客户端 凭据授权类型配置的完整 OAuth 2.0 令牌端点。 GenerateAccessToken
oauth-login-app 已弃用。我们建议您改用 oauth-advanced 示例。
oauth-validate-key-secret 说明了一种在密码授权类型流程中调用 身份提供商来验证用户凭据之前验证客户端密钥和密码的技术。 OAuthV2
AssignMessage
ExtractVariables
ServiceCallout
RaiseFault
oauth-verify-accesstoken 演示了配置为验证 OAuth 2.0 访问令牌和 验证配额的 API 代理。 VerifyAccessToken
Quota
oauth10a-3legged 演示了三足式 OAuth 1.0a 配置。 GenerateAceessToken
GenerateRequestToken
ServiceCallout
VerifyAccessToken
outbound-oauth 使用 Microsoft Azure translator API 翻译 Twitter 微博。为此,该方法会发出一个 出站调用以获取 OAuth 访问令牌,然后使用 API 服务缓存政策缓存该令牌,并在每次发出出站调用时重复使用缓存的令牌。 此外,还包括用于调用 API 代理的演示浏览器应用。 AssignMessage
LookupCache
PopulateCache
JavaScript
api-config.js
api-token-get.js
translate-query.js
translate-results.js
分页 根据客户端提供的 limit 和 offset 参数对 XML 响应消息进行分页 AssignMessage
ExtractVariables
ResponseCache
VerifyApiKey
XSL
paginate.xslt
response-cache 演示如何在 Edge 上缓存天气预报 10 分钟。 ResponseCache
AssignMessage
simple-python 演示了一个简单的场景,即在
响应中附加一个 Python 脚本,该脚本会向响应添加标头值。
脚本 (Python) setHeader.py
soap 演示了 XSL 转换,该转换会重写 WSDL 文件以响应带有查询参数 ?wsdl 的请求 。 AssignMessage
ExtractVariables
脚本 (Python)
XSL
calculateaddress.py
fixwsdl.xsl
流式处理 演示了 HTTP 流式处理配置。
target-reroute 演示如何使用 JavaScript 根据请求消息的内容 选择目标网址。 ExtractVariables
JavaScript
rewriteTargetUrl.js
twitter-mobile-timeline 演示如何使用 JavaScript 从 Twitter 微博中剥离不必要的参数, 从而生成精简的 Twitter 时间轴,该时间轴对资源受限的移动设备友好。 AssignMessage
JavaScript
MobileTimeline.js
twitter-oembed 将时间轴响应(例如来自 statuses/user_timeline.json)转换为 oEmbed 响应,该响应包含时间轴数据作为富 HTML 内容。 AssignMessage
JavaScript
search-oembed.js
变量 演示如何根据传输、JSON 和 XML 消息内容提取和设置变量。 AssignMessage
ExtractVariables
XMLToJSON
minimize.js
xmltojson 将响应数据从 XML 转换为 JSON。 XMLToJSON
JSONToXML

/schemas

XML 架构文件,您可以在配置 API 代理、 政策、API 产品以及开发者和应用配置文件时将其用作参考。

/tools

包含一个部署工具 deploy.py,该工具会将 API 代理导入到 Apigee Edge 上的组织 ,然后将其部署到指定的环境。

/org-snapshot

组织快照工具会检索组织设置,包括开发者、 API 产品、虚拟主机、键值对映射等。它可用于备份组织的详细信息,或发现组织中的设置。

Apigee-127

如果您是编码人员,Apigee-127 可让您使用 Node.js 和 Swagger 快速开始编码 API 代理。您还可以在 GitHub 上找到 a127 示例:https://github.com/apigee-127/a127-samples

分享您的体验

Apigee 开发者论坛上分享您的体验。