[17.0.0.1 und höher]

Alle öffentlichen REST-konformen APIs in einem Verbund auflisten

Fragen Sie Services im Verbund ab, um API-Dokumentationen zu allen REST-konformen APIs (Services) im gesamten Verbund zu erkennen. Die Abfrage stellt die Dokumentation im Listenformat bereit.

Die Liste enthält eine Zusammenfassung von jedem Service, wie z. B. Name, Version und Beschreibung, und eine Liste mit Hosts, die zurzeit diesen Service implementieren. Diese Liste wird in Echtzeit aktualisiert und ändert sich, je nach den Service, die den Verbundmembern hinzugefügt oder aus ihnen entfernt werden. Sie enthält Services von allen Verbundmembern, unabhängig davon, ob es sich bei den Membern um Liberty-Server, Docker- und Liberty-Server, LoopBack-Server oder Docker- und LoopBack-Server handelt.

Die Standard-URL für die Abfrage von Services im Verbund ist http://Controller-Host:Controller-HTTP-Port/api/collective/registry.

Vorbereitende Schritte

Die API /api/collective/registry ist im Liberty-Feature für die API-Erkennung enthalten. Wenn Sie öffentliche Services in einem Verbund abfragen möchten, müssen Sie das Feature apiDiscovery-1.0 zuerst der Verbundcontrollerdatei server.xml hinzufügen und anschließend die Swagger 2.0-Dokumentation in den Liberty-REST-Endpunkten bereitstellen. Führen Sie die Schritte 1 und 2 der Prozedur in REST-API-Dokumentation auf einem Liberty-Server suchen aus.

Vorgehensweise

  1. Geben Sie in einem Browser die URL http://Controller-Host:Controller-HTTP-Port/api/collective/registry ein.

    Ersetzen Sie Controller-Host und Controller-HTTP-Port durch Werte für den Verbundcontroller.

  2. Optional: Ändern Sie die URL der öffentlichen Endpunkte über das Attribut publicURL in der Controllerdatei server.xml.

    Sie können den api-Teil der URL http://Controller-Host:Controller-HTTP-Port/api/collective/registry über das Attribut publicURL im apiDiscovery-Element der Datei server.xml konfigurieren.

    Sie können beispielsweise das Attribut publicURL verwenden, um die Position Ihrer REST-konformen Verbund-Service-Registry von /api/collective/registry in /services/collective/registry zu ändern:

    1. Fügen der Controllerdatei server.xml Folgendes hinzu: <apiDiscovery publicURL="/services"/>.
    2. Geben Sie in einem Browser die URL http://Controller-Host:Controller-HTTP-Port/services/collective/registry ein.

    Weitere Informationen zum Attribut publicURL finden Sie unter REST-API-Dokumentation auf einem Liberty-Server suchen.

Ergebnisse

Die Abfrage stellt eine Liste mit öffentlichen Services zur Verfügung:

{  
   "services":[
      {  
         "service":"/airlines/booking",
         "title":"Booking REST APIs",
         "description":"A microservice exposing booking APIs for various airlines.",
         "version":"1.0.0",
         "hosts":[  
            "vm001:9081",
            "vm002:9082"
         ]
      },
      {  
         "service":"/flight/status",
         "title":"Flight Status REST APIs",
         "description":"A microservice exposing flight status APIs for various airports.",
         "version":"1.0.1",
         "hosts":[  
            "vm003:9085"
         ]
      },
      {  
         "service":"/tourism",
         "title":"Tourism REST APIs",
         "description":"A microservice exposing tourism information for various popular destinations.",
         "version":"2.0.0",
         "hosts":[  
            "vm004:9443"
         ]
      }
   ]
}

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_api_discovery_list_query.html