Springify: `start()`/`stop()`/`destroy()` in EndlessConsumer wiederbelebt
[demos/kafka/training] / src / main / java / de / juplo / kafka / DriverController.java
index a504842..480e7d1 100644 (file)
@@ -1,10 +1,14 @@
 package de.juplo.kafka;
 
 import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
 
@@ -23,15 +27,21 @@ public class DriverController
   }
 
   @PostMapping("stop")
-  public void stop() throws ExecutionException, InterruptedException
+  public void stop()
   {
     consumer.stop();
   }
 
-
   @GetMapping("seen")
-  public Map<Integer, Map<String, Integer>> seen()
+  public Map<Integer, Map<String, Long>> seen()
+  {
+    return new HashMap<>();
+  }
+
+  @ExceptionHandler
+  @ResponseStatus(HttpStatus.BAD_REQUEST)
+  public ErrorResponse illegalStateException(IllegalStateException e)
   {
-    return consumer.getSeen();
+    return new ErrorResponse(e.getMessage(), HttpStatus.BAD_REQUEST.value());
   }
 }