[17.0.0.1 以及更新版本]

列出群體中所有公用 RESTful API

使用群體服務查詢來探索有關整個群體中所有公用 RESTful API(服務)的 API 說明文件。查詢會以清單格式提供說明文件。

此清單包含每一個服務的摘要,例如名稱、版本和說明,以及目前部署此服務的主機清單。此清單會隨著群體成員中新增或移除服務而即時更新。 此清單包含來自任何群體成員的服務,而不論成員是 Liberty、Docker 和 Liberty、LoopBack®,或 Docker 和 LoopBack 伺服器。

群體服務查詢的預設 URL 為 http://controller_host:controller_http_port/api/collective/registry

開始之前

/api/collective/registry API 在 Liberty「API 探索」特性中。如果要查詢群體中的公用服務,您必須先將 apiDiscovery-1.0 特性新增至群體控制器的 server.xml 檔,然後在 Liberty REST 端點中公開 Swagger 2.0 說明文件。 完成探索 Liberty 伺服器中的 REST API 說明文件中的程序步驟 1 和 2。

程序

  1. 在瀏覽器中移至 http://controller_host:controller_http_port/api/collective/registry URL。

    以群體控制器的值取代 controller_hostcontroller_http_port

  2. 選擇性的: 在控制器的 server.xml 檔中,使用 publicURL 屬性變更公用端點的 URL。

    您可以利用 server.xml 檔中 apiDiscovery 元素的 publicURL 屬性,來配置 http://controller_host:controller_http_port/api/collective/registry URL 的 api 部分。

    例如,您可以使用 publicURL 屬性,將群體 RESTful 服務登錄的位置,從 /api/collective/registry 變更為 /services/collective/registry

    1. <apiDiscovery publicURL="/services"/> 新增至控制器的 server.xml 檔。
    2. 在瀏覽器中移至 http://controller_host:controller_http_port/services/collective/registry URL。

    如需 publicURL 屬性的相關資訊,請參閱 探索 Liberty 伺服器中的 REST API 說明文件

結果

此查詢提供公用服務清單:

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

指示主題類型的圖示 作業主題

檔名:twlp_api_discovery_list_query.html