집합체 제어기의 구독 API를 사용하면 특정 집합체 멤버 서버로부터 엔드포인트의 변경사항과 같은
변경사항, 제거된 API 또는 새 REST API에 대해 즉시 학습할 수 있습니다.
시작하기 전에
/ibm/api/collective/docs/subscription API는 Liberty REST API 발견 기능에 있습니다. 집합체 멤버 서버로부터 REST API에 대한 업데이트를 구독하려면
먼저 Liberty 서버에서 REST API 문서 발견에서 집합체 제어기에 대한 프로시저를 완료해야 합니다.
프로시저
- 구독을 사용으로 설정하십시오.
websocket-1.0 또는 websocket-1.1 기능을
집합체 제어기 server.xml 파일에 추가하십시오. 예를 들어, 다음과 같습니다.
<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"
}
- Websocket 클라이언트를 사용하여 피드 URL에 연결하십시오.
코드를 작성하거나 써드파티 websocket 클라이언트를 사용하여 피드 URL에 연결할 수 있습니다.
일단 연결되면 Liberty 서버에서 REST API에 대한 모든 추가 업데이트가 WebSocket을 통해 푸시됩니다.
구독에 따라 이 업데이트의 형식은 JSON 또는 YAML입니다.