訂閱 Liberty REST API 更新項目
現在,Liberty REST API 探索特性會顯現一個新的 REST API,即 /ibm/api/docs/subscription,供使用者訂閱任何 REST API 更新項目,例如,提供新 API 或移除舊 API。 當特定 Liberty 實例所提供的端點中有任何變更時,使用者會想要立即收到通知,這很有用。
啟用訂閱
除了基本 apiDiscovery-1.0 配置,另外還需要在 server.xml 中配置 websocket-1.0 或 websocket-1.1。
<server>
<featureManager>
<feature>apiDiscovery-1.0</feature>
<feature>websocket-1.1</feature>
</featureManager>
<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/docs/subscription 端點接受含有 JSON 有效負載格式如下的 POST 要求:
{ "docType" : String }
其中 String 可以是 Swagger_20_JSON 或 Swagger_20_YAML,兩者之一。 傳回的 JSON 有效負載概述訂閱資訊來源的類型及其 URL。
範例要求及對應的回應
要求:
{"docType":"Swagger_20_JSON"}
回應:
{
"feedType": "websocket",
"feedURL": "wss://myserver.com:8020/ibm/api/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
}
現在,您可以利用 websocket 用戶端來連接資訊來源 URL。 連接之後,Liberty 伺服器中任何進一步的 REST API 更新都是透過 websocket 來推送。 依訂閱而定,更新的格式為 JSON 或 YAML。