Liberty REST API 업데이트 구독
Liberty REST API 발견 기능은 이제 새 REST API, /ibm/api/docs/subscription을 노출하며, 이에 따라 사용자는 사용 가능하게 될 새 API 또는 제거될 이전 API 등의 REST API 업데이트 사항을 구독할 수 있습니다. 이는 특정 Liberty 인스턴스가 제공하는 엔드포인트의 변경사항에 대해 사용자가 즉각적으로 알림을 받고자 하는 경우에 유용합니다.
구독 사용
기본 apiDiscovery-1.0 구성 외에도 server.xml에서 websocket-1.0 또는 websocket-1.1을 구성해야 합니다.
<server>
<featureManager>
<feature>apiDiscovery-1.0</feature>
<feature>websocket-1.1</feature>
</featureManager>
<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/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/docs/subscription/websocket/60db0d79-1863-48f5-a0f9-4fe22a27b82d"
}
이제 websocket 클라이언트를 사용하여 피드 URL에 연결할 수 있습니다. 일단 연결되면 Liberty 서버에서 REST API에 대한 모든 추가 업데이트가 websocket을 통해 푸시됩니다. 구독에 따라 이 업데이트의 형식은 JSON 또는 YAML입니다.