[17.0.0.1 and later]

Lister toutes les API RESTful publiques d'une collectivité

Utilisez une requête sur les services d'une collectivité pour découvrir la documentation de toutes les API (services) RESTful publiques de la collectivité entière. Cette requête fournit la documentation sous la forme d'une liste.

La liste contient, pour chaque service, un récapitulatif contenant notamment son nom, sa version, une description et la liste des hôtes sur lesquels il est actuellement déployé. Elle est mise à jour en temps réel, ce qui signifie qu'elle change aussitôt que des services sont ajoutés ou retirés sur des membres de la collectivité. Elle répertorie les services de tous les membres de la collectivité, qu'il s'agisse de serveurs Liberty, Docker et Liberty, LoopBack ou Docker et LoopBack.

L'URL par défaut de la requête sur les services de la collectivité est de la forme http://hôte_contrôleur:port_http_contrôleur/api/collective/registry.

Avant de commencer

L'API /api/collective/registry est contenue dans la fonction API Discovery (Détection d'interface de programmation) de Liberty. Pour lancer une requête sur les services publiques d'une collectivité, vous devez d'abord ajouter la fonction apiDiscovery-1.0 au fichier server.xml d'un contrôleur de cette collectivité, puis exposer la documentation Swagger 2.0 dans des points d'extrémité REST Liberty. Effectuez les étapes 1 et 2 de la procédure décrite dans Découverte de la documentation d'API REST sur un serveur Liberty.

Procédure

  1. Ouvrez l'URL http://hôte_contrôleur:port_http_contrôleur/api/collective/registry dans un navigateur.

    Remplacez les valeurs symboliques hôte_contrôleur et port_http_contrôleur par les vraies valeurs de votre contrôleur de collectivité.

  2. Facultatif : Vous pouvez changer l'URL des points d'extrémité publics en utilisant l'attribut publicURL dans le fichier server.xml du contrôleur.

    Vous pouvez configurer la partie api de l'URL http://hôte_contrôleur:port_http_contrôleur/api/collective/registry URL avec l'attribut publicURL dans l'élément apiDiscovery du fichier server.xml.

    Par exemple, si le registre de services RESTful de votre collectivité se trouve dans /services/collective/registry, vous pouvez utiliser l'attribut publicURL pour désigner cet emplacement à la place de /api/collective/registry :

    1. Ajoutez <apiDiscovery publicURL="/services"/> au fichier server.xml du contrôleur.
    2. Ouvrez l'URL http://hôte_contrôleur:port_http_contrôleur/services/collective/registry dans un navigateur.

    Pour plus d'informations sur l'attribut publicURL, voir Découverte de la documentation d'API REST sur un serveur Liberty.

Résultats

La requête fournit la liste des services publics :

{  
   "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"
         ]
      }
   ]
}

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_api_discovery_list_query.html