CRecordGetMicroServices
This message is used to fetch the registered microservices.
This message belongs to the microservice registry API.
{ "id": "5f7e230e-cc3e-4860-b2d1-f1dba272e85b", "name": "GET_MICRO_SERVICES", "isService": "false", "description": "Get the registered microservices.", "slots": [ { "key": "90003", "name": "MICRO_SERVICES", "direction": "REQUEST", "mandatory": "false", "type": "RECORD_ARRAY", "description": "The registered microservices." } ] }
Example of use (after generating of the class CRecordGetMicroServices):
// in constructor: addMessageHandler(CRecordGetMicroServices.ID, this::asyncGetMicroServices); // request private void sendGetMicroServices(@NotNull final CTargetAddress aAddressOfMicroserviceRegistry) throws CException { final CEnvelope env = CEnvelope.forSingleTarget(aAddressOfMicroserviceRegistry); final CRecord rec = CRecordGetMicroServices.create(); sendRequest(env, rec); } // fetch microservice data from reply private boolean asyncGetMicroServices(@NotNull final CEnvelope aEnvelope, @NotNull final CRecord aRecord) throws CException { if (aEnvelope.isAnswer()) { final CRecord[] records = CRecordGetMicroServices.getMicroServices(aRecord, null); if (records != null) { for (CRecord record : records) { final IId id = CRecordMicroService.getId(record, null); final String description = CRecordMicroService.getDescription(record, ""); final CRecord[] apiRecords = CRecordMicroService.getApi(record, null); if (apiRecords != null) { for (CRecord apiRecord : apiRecords) { final IId recordId = CRecordDescriptionOfRecord.getId(apiRecord, null); final String recordDescription = CRecordDescriptionOfRecord.getDescription(apiRecord, ""); // ... } } // ... } // ... } return true; } return false; }