請利用群體控制器中的訂閱 API 來即時瞭解新的 REST API、已移除的 API,或 API 的變更,例如特定群體成員伺服器中各端點的變更。
開始之前
/ibm/api/collective/docs/subscription API 是在 Liberty REST API 探索特性中。
如果要訂閱群體成員伺服器中的 REST API 更新項目,您必須先完成探索 Liberty 伺服器中的 REST API 說明文件中,適用於群體控制器的程序。
程序
- 啟用訂閱。
新增 websocket-1.0 或 websocket-1.1 特性至群體控制器 server.xml 檔中;例如:
<server>
<featureManager>
<feature>collectiveController-1.0</feature>
<feature>apiDiscovery-1.0</feature>
<feature>websocket-1.1</feature>
</featureManager>
<!-- some collective controller configurations are omitted -->
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="8010"
httpsPort="8020"/>
<keyStore id="defaultKeyStore" password="Liberty"/>
<basicRegistry id="basic" realm="ibm/api">
<user name="bob" password="bobpwd" />
</basicRegistry>
</server>
/ibm/api/collective/docs/subscription 端點會啟用 POST 要求,含有 JSON 有效負載格式如下:
{ "docType" : String }
String 是 Swagger_20_JSON 或 Swagger_20_YAML。傳回的 JSON 有效負載概述訂閱資訊來源的類型及其 URL。
例如,下列要求:
{"docType":"Swagger_20_JSON"}
會傳回類似下列回應:
{
"feedType": "websocket",
"feedURL": "wss://myserver.com:8020/ibm/api/collective/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
}
- 利用 websocket 用戶端來連接資訊來源 URL。
您可以撰寫程式碼或利用協力廠商 websocket 用戶端來連接資訊來源 URL。
連接之後,Liberty 伺服器中任何進一步的 REST API 更新都是透過 websocket 來推送。
依訂閱而定,更新的格式為 JSON 或 YAML。