在集合体控制器中使用预订 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 端点启用格式如下的带有 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/collective/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
}
- 使用 WebSocket 客户机连接至订阅源 URL。
可编写代码或使用第三方 WebSocket 客户机连接至订阅源 URL。
连接后,Liberty 服务器中对 REST API 的任何进一步更新将通过 WebSocket 推送。更新为 JSON 或 YAML 格式(取决于预订)。