BrokersController.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. package com.provectus.kafka.ui.controller;
  2. import com.provectus.kafka.ui.api.BrokersApi;
  3. import com.provectus.kafka.ui.model.Broker;
  4. import com.provectus.kafka.ui.model.BrokerMetrics;
  5. import com.provectus.kafka.ui.service.ClusterService;
  6. import lombok.RequiredArgsConstructor;
  7. import lombok.extern.log4j.Log4j2;
  8. import org.springframework.http.ResponseEntity;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import org.springframework.web.server.ServerWebExchange;
  11. import reactor.core.publisher.Flux;
  12. import reactor.core.publisher.Mono;
  13. @RestController
  14. @RequiredArgsConstructor
  15. @Log4j2
  16. public class BrokersController implements BrokersApi {
  17. private final ClusterService clusterService;
  18. @Override
  19. public Mono<ResponseEntity<BrokerMetrics>> getBrokersMetrics(String clusterName, Integer id,
  20. ServerWebExchange exchange) {
  21. return clusterService.getBrokerMetrics(clusterName, id)
  22. .map(ResponseEntity::ok)
  23. .onErrorReturn(ResponseEntity.notFound().build());
  24. }
  25. @Override
  26. public Mono<ResponseEntity<Flux<Broker>>> getBrokers(String clusterName,
  27. ServerWebExchange exchange) {
  28. return Mono.just(ResponseEntity.ok(clusterService.getBrokers(clusterName)));
  29. }
  30. }