From a78ecaeadb1ada1e9a4e4b576c06cc1508630877 Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Fri, 24 May 2024 19:36:58 +0200 Subject: [PATCH] feat: UserController --- .../web/controller/UserController.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/eu/ztsh/wymiana/web/controller/UserController.java diff --git a/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java b/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java new file mode 100644 index 0000000..c9f7bdc --- /dev/null +++ b/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java @@ -0,0 +1,36 @@ +package eu.ztsh.wymiana.web.controller; + +import eu.ztsh.wymiana.model.User; +import eu.ztsh.wymiana.service.UserService; +import eu.ztsh.wymiana.web.model.UserCreateRequest; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RequiredArgsConstructor +@Validated +@RestController +@RequestMapping("/api/user") +public class UserController { + + private final UserService userService; + + @GetMapping("{pesel}") + public ResponseEntity get(@PathVariable("pesel") String pesel) { + return ResponseEntity.of(userService.get(pesel)); + } + + @PostMapping + public ResponseEntity create(@Valid @RequestBody UserCreateRequest request) { + userService.create(request); + return ResponseEntity.status(204).build(); + } + +}