Die App führt die Berechnung aus
[demos/kafka/training] / src / main / java / de / juplo / kafka / ApplicationController.java
1 package de.juplo.kafka;
2
3 import lombok.RequiredArgsConstructor;
4 import org.springframework.http.HttpStatus;
5 import org.springframework.http.ResponseEntity;
6 import org.springframework.web.bind.annotation.*;
7
8 import java.util.List;
9 import java.util.Map;
10 import java.util.Optional;
11
12
13 @RestController
14 @RequiredArgsConstructor
15 public class ApplicationController
16 {
17   private final AdderBusinessLogic adder;
18
19
20   @GetMapping("state/{user}")
21   public ResponseEntity<Long> state(@PathVariable String user)
22   {
23     return adder
24       .getSum(user)
25       .map(sum -> ResponseEntity.ok(sum))
26       .orElseGet(() -> ResponseEntity.notFound().build());
27   }
28
29
30   @ExceptionHandler
31   @ResponseStatus(HttpStatus.BAD_REQUEST)
32   public ErrorResponse illegalStateException(IllegalStateException e)
33   {
34     return new ErrorResponse(e.getMessage(), HttpStatus.BAD_REQUEST.value());
35   }
36 }