瞭解自訂 API 設計

Oracle Mobile Hub 中,您可以建立可供行動應用程式使用的自訂 REST API。

如果您是行動應用程式開發人員,請使用 API 設計工具繪製並測試您定義的端點,然後讓服務開發人員填入 API 的詳細資訊 (新增資源類型或特性、提供綱要、設定 API 及其端點的存取權),然後在 JavaScript 中實行。如果您是服務開發人員,請使用「API 設計工具」來明確設定可測試模擬資料的完整 API。或者,您可以從 REST 或 Fusion Applications 連線器產生自訂 API,而無須撰寫任何程式碼。

不同於提供一組核心已知服務的 Oracle Mobile Hub 平台 API,自訂 API 可讓您使用 Node.js 編碼透過 REST 介面發布的任何行動 App 需求服務。您可以使用 Oracle Mobile Hub 連線器將資料轉送至後端服務,將複雜的資料轉換成行動易記的有效負載。藉由使用自訂 API 建置可重複使用的服務目錄,您可以節省大量時間,否則可能會在行動應用程式中定期重新建立及維護導入明細。

關於 API 設計流程

「API 設計工具」會引導您完成建立自訂 API 的程序。

只需幾個步驟即可快速建立 API 的草稿版本:

  1. 新增基本知識 (API 的名稱、訊息媒體類型以及簡要描述)。

  2. 透過設定資源和至少一個方法來定義端點。

  3. 設定存取安全性。

  4. 請在至少定義一個資源之後測試您的端點。

即使您尚未完全完成設定 API,您也可以建立模擬資料來快速測試和驗證端點。定義訊息本文時,您可以提供預留位置值,以驗證是否傳送或傳回正確的資料。

若要完整完成 API,請使用「API 設計工具」來協助您新增強大 API 的必要元件:

  • 提供 API 描述資料 (亦即 API 的基本屬性,即 API 顯示名稱、API 名稱以及簡要描述),或者,如果您已經有包含 API 組態的 RAML 文件,則可以將它上傳至「API 設計工具」。所有資訊 (描述資料、資源、方法以及訊息主體的綱要) 都會從 RAML 文件擷取並載入「API 設計工具」中,讓您快速繼續測試端點或編輯 API 組態。

  • 新增一或多個根資源和巢狀資源。

  • 新增對資源採取動作的方法。

  • 建立描述資料主體的綱要。

  • 在設計階段使用範例資料測試您的端點,並視需要進行任何變更。

  • 允許匿名存取您的 API,或指定可以存取 API 的角色。

  • 新增自訂 API 的文件

之後,隨著您建立更多 API,您可能會發現重複定義相同的方法,並使用相同的參數等。您可以透過建立資源類型和特性來減少冗餘。如果您的 API 仍處於草稿狀態,您可以返回組態並新增您定義的資源類型和特性。

關於產生連線器的自訂 API

Oracle Mobile Hub 可以從連線器產生自訂程式碼,以連線至外部服務。身為服務開發人員,您可以選取使用有效描述區建立的 Oracle Fusion Applications 連線器或 REST 連線器、產生自訂 API,以及使用產生的 API 輕鬆從自訂 API 的實行或直接從行動應用程式呼叫這些服務。

連接器是一種讓行動後端與外部服務 (例如企業系統或第三方 API) 通訊的方式,可讓行動應用程式與該服務的功能互動。連線器 API 是與特定外部服務通訊以傳送和接收資料的組態。

身為服務開發人員,您可以產生可公開連線器 API 方法的自訂 API,並在不撰寫程式碼的情況下提供預設實行。

自訂 API 會針對連線器 API 中的每個資源產生端點,並在「API 設計工具」中開啟,讓您繼續指定 API 的詳細資訊,例如角色。系統也會產生預設實行,並將來自產生之自訂 API 的所有要求傳送至目標連線器 API。一旦您已將角色指派給 API (如果連接器上的安全性需要角色),您就可以使用實作來測試 API。您可以下載並修改實行,然後上傳實行。

能夠為連接器建立自訂 API,表示建立用來測試連接器的原型更容易。當您發現想要變更的項目時,可以快速變更連線器,並產生新的自訂 API 與實作。滿意之後,您可以產生最終版本的自訂 API 和實作。

  • 開發使用描述區定義的 REST 連線器或 Oracle Fusion Cloud Applications 連線器。
  • 從連線器產生自訂 API。它會在「API 設計工具」中開啟,您可以在其中定義一或多個角色或指定 API 所需的認證。
  • 您可以從行動裝置立即呼叫產生的 API。預設實行會透過產生之 API 的所有要求傳送至目標連線器 API。
  • 您可能想要下載實行並加以修改,以塑造傳回的資料。
  • 您可以重新瀏覽連線器,並對連線器資源或描述區進行變更。如果您要產生新的自訂 API 和實行,如果您變更產生的自訂 API,連線器中不會反映這些變更。您應該在連接器中進行適當的變更,然後產生自訂 API 並再次導入。

您只能為使用描述區定義的 REST 或 Oracle Fusion Cloud Applications 連線器產生自訂 API。您無法為其他類型的連接器產生自訂 API,或者 REST 或 Oracle Fusion Cloud Applications 連線器沒有描述子。

如果您要傳送多重部分表單資料或使用 http 選項物件,您可能需要以自己的程式碼取代實作中的 callConnector 方法。

REST 連線器 API

您可以建立連線器 API 以連線至外部 REST 服務。然後,您可以從自訂 API 的實行呼叫這些連線器 API。

REST 連線器 API 的運作方式

REST 連線器 API 是一種中介 API,可在企業系統或第三方 API 中呼叫 REST 端點。連線器 API 採用組態形式,讓您的應用程式能夠以標準方式連線至這些 REST 服務,並利用 Oracle Mobile Hub 提供的安全性、診斷和其他功能。

連接器會使用 HTTPS 協定在用戶端與伺服器之間通訊並傳送資訊。傳送的資訊可以是 XML 或 JSON 格式 (但只適用於以 Swagger 描述區為基礎的服務 JSON)。

REST 連線器 API 精靈會逐步引導您建立 REST 連線器 API,從指定遠端服務及設定安全原則來測試端點。

為什麼要使用連接器而非直接呼叫外部資源?

透過使用 REST 連線器 API,您可以透過從應用程式程式碼直接呼叫外部資源,享有下列優點:

  • 允許簡化的宣告式連線和原則組態。

  • 使用 Swagger 描述區決定可用的資源,並為您建立端點。

  • 提供廣泛的診斷資訊,因為它與 Oracle Mobile Hub 診斷架構緊密整合。系統會記錄透過連接器 API 進行的任何出埠 REST 呼叫,這有助於除錯。

  • 允許追蹤及分析遠端 API 使用狀況。

  • 可讓您在測試端點的有效性時,於設計階段定義與服務互動,讓該互動的術語與程式實際執行時的使用者輸入無關。這可保護終端系統和行動後端免受危害。

  • 在多種連線器類型之間提供一致的設計方法,以便與外部服務互動。

  • 藉由服務介面中的任何變更,您可以集中處理任何必要的更新、測試及移轉。