X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FApplicationController.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FApplicationController.java;h=79d42e9777c6e9432a51bfa4ba866ef26902ea67;hb=17360fbf2f944f6818c748ed1235264b7d8d28a4;hp=0000000000000000000000000000000000000000;hpb=ae8d6e6f4144cdef108b8d13e005b0f869599a77;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/ApplicationController.java b/src/main/java/de/juplo/kafka/ApplicationController.java new file mode 100644 index 0000000..79d42e9 --- /dev/null +++ b/src/main/java/de/juplo/kafka/ApplicationController.java @@ -0,0 +1,36 @@ +package de.juplo.kafka; + +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +@RestController +@RequiredArgsConstructor +public class ApplicationController +{ + private final AdderBusinessLogic adder; + + + @GetMapping("state/{user}") + public ResponseEntity state(@PathVariable String user) + { + return adder + .getSum(user) + .map(sum -> ResponseEntity.ok(sum)) + .orElseGet(() -> ResponseEntity.notFound().build()); + } + + + @ExceptionHandler + @ResponseStatus(HttpStatus.BAD_REQUEST) + public ErrorResponse illegalStateException(IllegalStateException e) + { + return new ErrorResponse(e.getMessage(), HttpStatus.BAD_REQUEST.value()); + } +}