Refactor 'GET .../schemas/{subject}/versions' to get all schema data as well
This commit is contained in:
parent
24e5d4dc5c
commit
83f9cd78f1
4 changed files with 12 additions and 7 deletions
|
@ -58,7 +58,12 @@ public class SchemaRegistryService {
|
|||
.orElse(Mono.error(new NotFoundException("No such cluster")));
|
||||
}
|
||||
|
||||
public Flux<Integer> getSchemaSubjectVersions(String clusterName, String schemaName) {
|
||||
public Flux<SchemaSubject> getAllVersionsBySubject(String clusterName, String subject) {
|
||||
Flux<Integer> versions = getSubjectVersions(clusterName, subject);
|
||||
return versions.flatMap(version -> getSchemaSubjectByVersion(clusterName, subject, version));
|
||||
}
|
||||
|
||||
private Flux<Integer> getSubjectVersions(String clusterName, String schemaName) {
|
||||
return clustersStorage.getClusterByName(clusterName)
|
||||
.map(cluster -> webClient.get()
|
||||
.uri(cluster.getSchemaRegistry() + URL_SUBJECT_VERSIONS, schemaName)
|
||||
|
|
|
@ -121,8 +121,9 @@ public class MetricsRestController implements ApiClustersApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Mono<ResponseEntity<Flux<Integer>>> getSchemaVersions(String clusterName, String subjectName, ServerWebExchange exchange) {
|
||||
return Mono.just(ResponseEntity.ok(schemaRegistryService.getSchemaSubjectVersions(clusterName, subjectName)));
|
||||
public Mono<ResponseEntity<Flux<SchemaSubject>>> getAllVersionsBySubject(String clusterName, String subjectName, ServerWebExchange exchange) {
|
||||
Flux<SchemaSubject> schemas = schemaRegistryService.getAllVersionsBySubject(clusterName, subjectName);
|
||||
return Mono.just(ResponseEntity.ok(schemas));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -89,7 +89,6 @@ class SchemaRegistryServiceTests extends AbstractBaseTest {
|
|||
Assertions.assertNotNull(actualSchemaSubject.getVersion());
|
||||
Assertions.assertNotNull(actualSchemaSubject.getCompatibilityLevel());
|
||||
Assertions.assertEquals("\"string\"", actualSchemaSubject.getSchema());
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -414,8 +414,8 @@ paths:
|
|||
get:
|
||||
tags:
|
||||
- /api/clusters
|
||||
summary: get all version of schema from Schema Registry service
|
||||
operationId: getSchemaVersions
|
||||
summary: get all version of subject from Schema Registry service
|
||||
operationId: getAllVersionsBySubject
|
||||
parameters:
|
||||
- name: clusterName
|
||||
in: path
|
||||
|
@ -435,7 +435,7 @@ paths:
|
|||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
$ref: '#/components/schemas/SchemaSubject'
|
||||
|
||||
/api/clusters/{clusterName}/schemas/{subject}/latest:
|
||||
get:
|
||||
|
|
Loading…
Add table
Reference in a new issue