用來將 API 推送至 IBM API Connect 的 REST 端點
使用 REST 端點,這是內部部署和雲端 Liberty 使用者在將 API 視覺化,並呼叫和推送 API 至 IBM® API Connect 時的中心位置。
將所部署的 REST 端點推送至 IBM API Connect
如果要推送所部署的 REST 端點至 IBM API Connect,您必須呼叫新的 REST 端點 /ibm/api/docs/apiconnect,這是在伺服器配置中利用 apiDiscovery-1.0 特性來公開。管理者和開發人員可以使用 REST 端點,將 Liberty 實例中的資產公開給正在搜尋 IBM API Connect 架構型錄的任何企業開發人員。
提供產品定義
所有 API 都是藉由產品來參照,並且是從型錄來公開。因此,呼叫端會提供產品定義,供 Liberty 用來參照其 RESTful API,並將得出的產品推送至 IBM API Connect。這個主題提供範例產品。
將 Liberty 群體公開到 IBM API Connect
利用對應的 Liberty 群體端點 /ibm/api/collective/docs/apiconnect,您可以藉由單一 RESTful 觸發程式,將「Liberty 群體」的所有資產公開到 IBM API Connect。Liberty 群體端點可以將數千個 API 公開給任何連接 API Connect 的雲端開發人員。如需這個端點的 Swagger 完整定義,請參閱 Liberty RESTful API 登錄 /ibm/api/explorer。
端點摘要
HTTP 要求方法:POST
URL:https://server:https_port/ibm/api/docs/apiconnect
必要標頭
- X-APIM-Authorization
- 用來連接 API Connect 的認證,是以兩種格式顯示:
- username 和 password
- xyz 其中 xyz 是 base64 編碼版本的 username: password。
必要的查詢參數
- 伺服器
- IBM API Connect 伺服器的名稱,開頭是 https://。
- 型錄
- 管理所得出之產品的型錄名稱。
- 組織
- 呼叫端的組織名稱。
選用的查詢參數
- apiRoot
- 此參數有多個基數,用來明確指定呼叫端想推送至 API Connect 的環境定義根目錄,例如 apiRoot=/myApp。依預設,Liberty 會包含任何所部署的應用程式,但不包括已知的 Liberty 執行時期 Web 應用程式軟體組。當您想過濾要公開的應用程式時,這個參數很有用。
- 成員 ID(僅適用於「群體」變式)
- 這個參數有多個基數,用來指定明確「群體成員」的 ID,使呼叫端公開其資產。這個 ID 由字串組成,內含主機名稱、URLEncoded user dir 和伺服器名稱,並以逗點區隔,例如:myHost.com, %2Ftmp%2Fwlp%2Fusr, server1。
- 輸入內文
- 採用 YAML 或 JSON 程式碼的產品定義。請參閱下列 YAML
範例:
product: "1.0.0" info: name: "pushed-product" title: "A Product that encapsulates Liberty APIs" version: "1.0.0" visibility: view: enabled: true type: "public" tags: - "string" orgs: - "string" subscribe: enabled: true type: "authenticated" tags: - "string" orgs: - "string" apis: liberty: name: "liberty-api:1.0.0" x-ibm-configuration: phase: "realized" testable: true enforced: true cors: enabled: true assembly: execute: - invoke: target-url: "${gateway.target}" title: "Invocation" description: "Invoking back-end service" plans: default: title: "Default Plan" rate-limit: hard-limit: false value: "100/hour" approval: false createdAt: "2016-04-18T20:33:22.937Z" createdBy: "string"