您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
Apigee Edge API 範例包含範例 API Proxy、政策、程式碼和工具,可說明下列 Apigee Edge API 服務的功能。
如需使用範例的操作說明,請參閱「使用範例 API Proxy」。
邊做邊學
想快速動手操作,並開始建立 Apigee Edge 的紮實知識基礎嗎?我們在 GitHub 中提供「learn-edge」範例程式庫,讓您快速部署、叫用及追蹤一些範例 Proxy,從最簡單的 Proxy 開始,逐步瞭解如何使用 Proxy 說明 API 金鑰驗證、配額、回應快取、錯誤處理等功能。
複製存放區並設定環境後 (只需幾分鐘),您可以在不到一分鐘的時間內試用每個範例。此外,由於每個樣本都會建立相同 Proxy 的新修訂版本,因此環境不會因大量樣本而變得雜亂。您可以隨時切換修訂版本、在管理 UI 中重新部署其他修訂版本,以及查看 Proxy 程式碼。每個範例的讀我檔案也會簡要說明範例的用途和設定方式。
歡迎試試看!https://github.com/apigee/api-platform-samples/tree/master/learn-edge
文件教戰手冊範例
我們為 API 代理食譜主題提供了一組範例。
| 名稱 | 說明 | 政策類型 | 資源 |
|---|---|---|---|
| javascript-cookbook | 這個範例會示範簡單的 JavaScript 程式碼片段,可從變數新增 HTTP 標頭、將 JSON 格式的天氣報告轉換為 XML,以及為行動用戶端縮減內容。 | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | 完整的 JavaScript 應用程式,可呼叫公開 API、合併結果,並為用戶端應用程式產生經過擴充的回應。(注意:這個 API Proxy 實作的功能與 policy-mashup 相同,可證明使用不同技術也能解決相同問題)。 | JavaScript | MashItUp.js |
| java-hello | 簡單的 Hello World Java 呼叫。 | JavaCallout | JavaHello.java |
| java-cookbook | 將回應內容和標頭轉換為大寫。 | JavaCallout |
ResponseUppercase.java |
| java-properties | 示範如何在 Java 呼叫中使用屬性。 | JavaCallout | JavaProperties.java |
| java-error | 示範可在 Java Callout 程式碼中使用的錯誤處理模式。 | JavaCallout | JavaError.java |
| policy-mashup-cookbook | 完整的應用程式,使用政策組合呼叫兩個公開 API、合併結果,並為用戶端應用程式產生經過擴充的回應。(注意:這個 API Proxy 實作的功能與 javascript-mashup 相同,可證明使用不同技術也能解決相同問題)。 | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
API Proxy 範例
下列 API Proxy 位於 GitHub,其中的 Readme 頁面提供範例的詳細說明。如要瞭解特定政策在範例中的運作方式,請在下方的「政策類型」欄中尋找您感興趣的政策,然後點選「名稱」欄中的範例名稱。(政策會連結至文件中的相應參考頁面)。
參考資料和工具
除了上述表格中的文件食譜範例和範例 Proxy 之外,Edge GitHub 範例也包含下列資源:
| 名稱 | 說明 | 政策類型 | 資源 |
|---|---|---|---|
| regex-protection | 規則運算式威脅防護政策可保護後端 API 和微服務,防範 SQL 植入攻擊。 | 不適用 | |
| oauth-validate-key-secret | 您正在實作 OAuth 密碼授權類型流程。您必須先在 Edge 上驗證應用程式用戶端金鑰和密碼,才能呼叫外部身分識別提供者來驗證使用者的憑證。 | OAuthV2 等 | 不適用 |
| condition-pattern-matching | 這個 Proxy 可讓您輕鬆試用及測試 API Proxy 流程中的條件陳述式。 | 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 Proxy 中的 JavaScript 資源呼叫 JavaScript 包含項目。 | 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 文件團隊會使用這個 API Proxy,從 Jira 產生版本資訊。 | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | 本範例說明如何在 Apigee Edge 上執行 Kerberos 憑證中介服務。 | JavaCallout | Java JAR 檔案 |
| oauth-advanced | 授權碼授權類型流程的完整運作範例,授權伺服器為 Apigee Edge。 |
GenerateAccessToken 其他許多裝置... |
請參閱範例程式碼 |
| oauth-client-credentials | 示範為用戶端憑證授權類型設定的完整 OAuth 2.0 權杖端點。 | GenerateAccessToken | 無 |
| oauth-login-app | 已淘汰,建議您改用 oauth-advanced 範例。 | ||
| oauth-validate-key-secret | 說明在密碼授權類型流程中,呼叫身分識別資訊提供者來驗證使用者憑證之前,如何驗證用戶端的金鑰和密鑰。 | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
無 |
| oauth-verify-accesstoken | 示範如何設定 API Proxy,以驗證 OAuth 2.0 存取權杖並驗證配額。 | VerifyAccessToken Quota |
無 |
| oauth10a-3legged | 示範 OAuth 1.0a 三向設定。 | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
無 |
| outbound-oauth | 使用 Microsoft Azure 翻譯工具 API 翻譯推文。為此,API Proxy 會發出外送呼叫來取得 OAuth 存取權杖,然後使用 API 服務快取政策快取權杖,每次發出外送呼叫時都會重複使用快取的權杖。此外,還包含用於叫用 API Proxy 的示範瀏覽器應用程式。 | AssignMessage LookupCache PopulateCache JavaScript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| 分頁 | 根據用戶端提供的限制和偏移參數,將 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 Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| 串流 | 示範 HTTP 串流設定。 | 無 | 無 |
| target-reroute | 示範如何使用 JavaScript,根據要求訊息的內容動態選取目標網址。 | ExtractVariables Javascript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | 示範如何使用 JavaScript 從推文中移除不必要的參數,進而簡化 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 |
無 |
|
|
XML 結構定義檔,可用於設定 API Proxy、政策、API 產品,以及開發人員和應用程式設定檔時做為參考。 |
||
|
|
內含部署工具 deploy.py,可將 API Proxy 匯入 Apigee Edge 的機構,然後部署至指定環境。 |
||
|
|
機構快照工具會擷取機構設定,包括開發人員、API 產品、虛擬主機、鍵/值對應等。這項工具可用於備份機構詳細資料,或探索機構中的設定。 |
Apigee-127
如果您是程式設計師,可以透過 Apigee-127 建立 API Proxy,並使用 Node.js 和 Swagger 進行程式設計。您也可以在 GitHub 上找到 a127 範例:https://github.com/apigee-127/a127-samples。
分享經驗
歡迎前往 Apigee 開發人員論壇分享您的體驗。