Liberty-REST-API-Aktualisierungen in einem Verbund subskribieren

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

  1. 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"
    }
  2. 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.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_subscribe_restapi_collective.html