Verwenden Sie die Subskriptions-API im Verbundcontroller, um umgehend über neue REST-APIs, entfernte APIs oder Änderungen an APIs, wie z. B. Änderungen der Endpunkte eines bestimmten Verbund-Member-Servers, benachrichtigt zu werden.
Vorbereitende Schritte
Die API /ibm/api/collective/docs/subscription ist im Liberty-Feature für die REST-API-Erkennung enthalten. Wenn Sie Aktualisierungen der REST-APIs von Verbund-Member-Servern subskribieren möchten, müssen Sie zunächst die im Abschnitt REST-API-Dokumentation auf einem Liberty-Server suchen beschriebenen Schritte für einen Verbundcontroller ausführen.
Vorgehensweise
- Aktivieren Sie Subskriptionen.
Fügen Sie das Feature websocket-1.0 oder das Feature websocket-1.1 der
Verbundcontrollerdatei server.xml hinzu, z. B.:
<server>
<featureManager>
<feature>collectiveController-1.0</feature>
<feature>apiDiscovery-1.0</feature>
<feature>websocket-1.1</feature>
</featureManager>
<!-- Einige Verbundcontrollerkonfigurationen wurden weggelassen -->
<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>
Der Endpunkt /ibm/api/collective/docs/subscription ermöglicht POST-Anforderungen mit
JSON-Nutzdaten im folgenden Format:
{ "docType" : Zeichenfolge }
Zeichenfolge ist Swagger_20_JSON bzw.
Swagger_20_YAML. Die zurückgegebenen JSON-Nutzdaten geben den Typ des Subskriptionsfeeds und die zugehörige URL an.
Die folgende Anforderung:
{"docType":"Swagger_20_JSON"}
gibt beispielsweise eine Antwort wie die folgende zurück:
{
"feedType": "websocket",
"feedURL": "wss://myserver.com:8020/ibm/api/collective/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
}
- Verwenden Sie einen Websocket-Client, um eine Verbindung zur Feed-URL herzustellen.
Sie können Code schreiben oder einen Websocket-Client eines anderen Anbieters verwenden, um eine Verbindung zur Feed-URL herzustellen.
Sobald eine Verbindung hergestellt wurde, werden weitere Aktualisierungen an REST-APIs im Liberty-Server über das Websocket übertragen. Die Aktualisierung erfolgt je nach Subskription im JSON- oder YAML-Format.