集合内の Liberty REST API 更新のサブスクライブ

集合コントローラーでサブスクリプション API を使用して、新しい REST API、削除された API、または API の変更 (特定集合メンバー・サーバーのエンドポイントでの変更など) について即時に知ることができます。

始める前に

/ibm/api/collective/docs/subscription API は、Liberty REST API ディスカバリー・フィーチャーに含まれます。集合メンバー・サーバーの REST API の更新をサブスクライブするには、 まず、集合コントローラーについて『Liberty サーバー上の REST API 資料のディスカバー』の手順を完了してください。

手順

  1. サブスクリプションを使用可能にします。

    集合コントローラーの server.xml ファイルに、 websocket-1.0 または websocket-1.1 のフィーチャーを追加します。例えば、以下のようにします。

    <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>

    /ibm/api/collective/docs/subscription エンドポイントでは、以下のフォーマットによる JSON ペイロードの POST 要求を可能にします。

    { "docType" : String }

    String は、Swagger_20_JSON または Swagger_20_YAML です。 戻りの JSON ペイロードで、サブスクリプション・フィードのタイプとその URL の概要が示されます。

    例えば、以下の要求

    {"docType":"Swagger_20_JSON"}

    これは、以下のような応答を戻します。

    {
      "feedType": "websocket",
      "feedURL": "wss://myserver.com:8020/ibm/api/collective/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
    }
  2. websocket クライアントを使用してフィード URL に接続します。

    コードを作成するか、サード・パーティーの websocket クライアントを使用して、フィード URL に接続することができます。

    接続されると、Liberty サーバーで REST API がさらに更新されたときに、websocket を通じてプッシュされます。 サブスクリプションに応じて、更新は、JSON フォーマットまたは YAML フォーマットのいずれかです。

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_subscribe_restapi_collective.html