X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FDriverController.java;h=e64d6b8489279f9bfb4bdf2eff22e317f97bd870;hb=a6a0a22a5fa34a01b0e8b2bc1e0e2b82d7b60f33;hp=d8068e565b2b6b47a2aee9d6565dbab49faf59cb;hpb=6ce3e7f2a3ff4622a82e4bb1ec35a722d02e2069;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/DriverController.java b/src/main/java/de/juplo/kafka/DriverController.java index d8068e5..e64d6b8 100644 --- a/src/main/java/de/juplo/kafka/DriverController.java +++ b/src/main/java/de/juplo/kafka/DriverController.java @@ -1,9 +1,11 @@ package de.juplo.kafka; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import java.util.Map; import java.util.concurrent.ExecutionException; @@ -25,4 +27,32 @@ public class DriverController { consumer.stop(); } + + + @GetMapping("seen") + public Map>> seen() + { + return consumer.getSeen(); + } + + @GetMapping("seen/{user}") + public ResponseEntity> seen(@PathVariable String user) + { + for (Map> users : consumer.getSeen().values()) + { + Map words = users.get(user); + if (words != null) + return ResponseEntity.ok(words); + } + + return ResponseEntity.notFound().build(); + } + + + @ExceptionHandler + @ResponseStatus(HttpStatus.BAD_REQUEST) + public ErrorResponse illegalStateException(IllegalStateException e) + { + return new ErrorResponse(e.getMessage(), HttpStatus.BAD_REQUEST.value()); + } }