我正在尝试从架构注册表中检索给定kafka主题的架构主题版本。我可以使用client.register(schema-name, schema)
成功发布新版本,但不确定如何获取版本。我在下面使用curl请求进行了尝试,但结果立即达到-1(空)。
CachedSchemaRegistryClient client = new CachedSchemaRegistryClient(schemaRegistryUrl, 20);
// curl -X GET http://schema.registry.url:8888/subjects/{topic}/versions/
String command = "curl -X GET --header 'Accept: application/vnd.schemaregistry.v1+json' 'https://schema.registry.url:8888/api/schema-proxy/subjects/mytopic-value/versions'";
Process process = Runtime.getRuntime().exec(command);
Reader reader = new InputStreamReader(process.getInputStream());
int result;
while ((result = reader.read()) != -1){ // Nothing printed
System.out.println(result);
}
如何解决此GET请求,或者更好的是,如何使用模式注册表client
来检索模式?
答案 0 :(得分:0)
使用以下方法找出答案:
SchemaMetadata sm = client.getLatestSchemaMetadata(schemaName);
System.out.println(sm.getSchema());