您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
Apigee Edge API 範例內含 API Proxy 範例、政策、程式碼和工具,用於說明下文所述 Apigee Edge API 服務的功能。
如需使用範例的操作說明,請參閱使用 API Proxy 範例。
從實作中學習
想要趕緊快速上手,開始建立有關 Apigee Edge 的可靠知識庫嗎?我們在 GitHub 中提供豐富的「學習邊緣」範例程式庫,可讓您快速部署、叫用及追蹤一些 Proxy 範例。首先,從最簡單的 Proxy 開始,然後移至 Proxy,詳細介紹 API 金鑰驗證、配額、回應快取、錯誤處理等。
複製存放區並設定環境 (只需幾分鐘) 後,您可以在一分鐘內嘗試各個範例。此外,每個範例都會為相同的 Proxy 建立新的修訂版本,因此環境不會因為大量範例而雜亂。您隨時可以切換修訂版本、在管理 UI 中重新部署其他修訂版本,以及查看 Proxy 程式碼。此外,每個範例的 README 單元也能提供範例作業和設定方式的簡要說明。
現在就試試看!https://github.com/apigee/api-platform-samples/tree/master/learn-edge
文件教戰手冊範例
我們為 API Proxy 教戰手冊主題提供一組範例。
名稱 | 說明 | 政策類型 | 資源 |
---|---|---|---|
javascript-cookbook | 示範如何透過變數新增 HTTP 標頭、將 XML 格式的天氣報告從 JSON 轉換為 XML,並縮減行動用戶端的內容。 | Mini.js setHeaders.js |
|
javascript-mashup-cookbook | 一個完整的 JavaScript 應用程式,可呼叫公用 API、合併結果,並為用戶端應用程式產生豐富的回應 (注意:這個 API Proxy 實作的功能與政策混搭一樣,這表示可以透過不同技術解決相同的問題)。 | JavaScript | MashItUp.js |
java-hello | 簡單的 hello World Java 呼叫。 | JavaCallout | JavaHello.java |
java-cookbook | 將回應內容和標頭轉換為大寫。 | JavaCallout |
ResponseUppercase.java |
java-properties | 示範如何在 Java 呼叫中使用屬性。 | JavaCallout | JavaProperties.java |
java-錯誤 | 示範可在 Java 呼叫程式碼中使用的錯誤處理模式。 | JavaCallout | JavaError.java |
policy-mashup-cookbook | 一個使用政策組合的完整應用程式,利用政策組合呼叫兩個公用 API、合併結果,並為用戶端應用程式產生豐富的回應 (注意:這個 API Proxy 實作的功能與 JavaScript 混搭功能相同,這表示同一個問題可以使用不同技術解決)。 | AssignMessage ServiceCallout ExtractVariables JavaScript XMLToJSON |
GenerateResponse.js |
API Proxy 範例
下列 API Proxy 位於 GitHub,讀我頁面提供關於範例的詳細說明。如要瞭解特定政策在示例中的運作方式,請找到下方想看的政策類型欄,然後按一下「名稱」欄中的樣本名稱。(這些政策列載於說明文件中的個別參考資料頁面)。
參考資料和工具
除了上表中的文件教戰手冊範例和 Proxy 範例,Edge GitHub 範例還包含下列資源:
名稱 | 說明 | 政策類型 | 資源 |
---|---|---|---|
regex-Protection | 規則運算式威脅防護政策可以保護您的後端 API 和微服務,以免遭到 SQL 插入攻擊。 | 不適用 | |
oauth-validate-key-secret | 您正在實作 OAuth 密碼授權類型的流程。您必須先在 Edge 上驗證應用程式用戶端金鑰和密鑰,才能呼叫外部識別資訊提供者驗證使用者憑證。 | OAuthV2 及其他 | 不適用 |
條件-模式比對 | 這個 Proxy 可讓您輕鬆試用及測試 API Proxy 流程中的條件陳述式。 | AssignMessage | 不適用 |
存取實體 | 說明如何從 Apigee Edge 資料儲存庫擷取實體的設定檔。 | AssignMessage AccessEntity ExtractVariables |
無 |
apikey | 實作簡單的 API 金鑰驗證 | VerifyAPIKey AssignMessage 配額 |
無 |
非同步呼叫 | 示範使用 JavaScript httpClient 的簡易非同步呼叫。 | JavaScript | 組合_response.js callout.js |
base64encoder | 示範如何呼叫 JavaScript,包括從 API Proxy 中的 JavaScript 資源。 | AssignMessage JavaScript |
Core-min.js enc-utf16-min.js enc-base64-min.js codeAuthHeader.js |
條件政策 | 可實作簡單的條件式政策強制執行作業。如果要求中包含 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 | 展示設為驗證 OAuth 2.0 存取權杖並驗證配額的 API Proxy。 | VerifyAccessToken 配額 |
無 |
oauth10a-3three | 示範 OAuth 1.0a 三足式設定。 | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
無 |
outbound-oauth | 使用 Microsoft Azure translator API 翻譯推文。為此,其會發出傳出呼叫來取得 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 |
回應快取 | 示範如何在 Edge 上快取天氣預報 10 分鐘。 | ResponseCache AssignMessage |
無 |
simple-python | 示範這個簡單的情境:在回應中附加 Python 指令碼, 指令碼藉此新增標頭值。 |
指令碼 (Python) | setHeader.py |
肥皂 | 示範 XSL 轉換作業,根據查詢參數 ?wsdl 的要求重寫 WSDL 檔案。 | AssignMessage ExtractVariables 指令碼 (Python) XSL |
computeaddress.py fixsdl.xsl |
直播 | 示範 HTTP 串流設定。 | 無 | 無 |
目標重新轉送 | 示範如何使用 JavaScript,根據要求訊息的內容動態選取目標網址。 | ExtractVariables JavaScript |
rewriteTargetUrl.js |
twitter-mobile-timeline | 示範如何使用 JavaScript 將 Twitter 中不需要的參數移除,進而讓 Twitter 時間軸經過簡化,讓資源受限的行動裝置更順暢無礙。 | AssignMessage JavaScript |
MobileTimeline.js |
twitter-oembed | 將時間軸回應 (例如從 status/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 即可運用 Node.js 和 Swagger 管理 API Proxy 並編寫程式碼。您也可以在 GitHub 找到 a127 範例:https://github.com/apigee-127/a127-samples。
分享經驗
歡迎前往 Apigee 開發人員論壇,分享您的體驗。