Utilisez l'API d'abonnement du contrôleur de collectivité pour découvrir immédiatement les API REST qui ont été ajoutées, retirées ou les modifications apportées aux API, telles que les changements effectués sur des noeuds finaux à partir d'un serveur membre de collectivité spécifique.
Avant de commencer
L'API /ibm/api/collective/docs/subscription figure dans la fonction de détection d'API REST Liberty. Si vous voulez vous abonner afin de recevoir les mises à jour des API REST à partir de serveurs membres de collectivité, vous devez d'abord exécuter la procédure décrite dans Découverte de la documentation d'API REST sur un serveur Liberty pour un contrôleur de collectivité.
Procédure
- Activez les abonnements.
Ajoutez la fonction websocket-1.0 ou websocket-1.1 au contrôleur de collectivité server.xml. Par exemple :
<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>
Le noeud final /ibm/api/collective/docs/subscription active les demandes POST avec un contenu JSON au format suivant :
{ "docType" : String }
String est Swagger_20_JSON ou Swagger_20_YAML. Le contenu JSON qui est renvoyé décrit le type de flux d'abonnement et son URL.
Par exemple, la demande suivante :
{"docType":"Swagger_20_JSON"}
renvoie une réponse similaire à la suivante :
{
"feedType": "websocket",
"feedURL": "wss://myserver.com:8020/ibm/api/collective/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
}
- Utilisez un client Websocket pour l'établissement d'une connexion à l'URL du flux.
Vous pouvez écrire du code ou utiliser un client Websocket tiers pour l'établissement d'une connexion à l'URL du flux.
Une fois le client connecté, toute mise à jour apportée ultérieurement aux API REST dans le serveur Liberty est insérée via le Websocket.
La mise à jour est au format JSON ou YAML selon l'abonnement.