From 67cd5588e17be6c6da24cbabad21f81250ea5866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=20Ku=CC=88ng?= Date: Wed, 26 Apr 2023 10:58:34 +0200 Subject: [PATCH] Controller with error --- src/main/java/ch/progetto152/Controller.java | 56 ++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/main/java/ch/progetto152/Controller.java diff --git a/src/main/java/ch/progetto152/Controller.java b/src/main/java/ch/progetto152/Controller.java new file mode 100644 index 0000000..949c47f --- /dev/null +++ b/src/main/java/ch/progetto152/Controller.java @@ -0,0 +1,56 @@ +package ch.progetto152; + + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/api/users") +public class Controller { + + @Autowired + private UserService userService; + + @GetMapping + public ResponseEntity> getAllUsers() { + List users = userService.getAllUsers(); + return new ResponseEntity<>(users, HttpStatus.OK); + } + + @GetMapping("/{id}") + public ResponseEntity getUserById(@PathVariable("id") Long id) { + User user = userService.getUserById(id); + if (user != null) { + return new ResponseEntity<>(user, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } + + @PostMapping + public ResponseEntity createUser(@RequestBody User user) { + User createdUser = userService.createUser(user); + return new ResponseEntity<>(createdUser, HttpStatus.CREATED); + } + + @PutMapping("/{id}") + public ResponseEntity updateUser(@PathVariable("id") Long id, @RequestBody User user) { + User updatedUser = userService.updateUser(id, user); + if (updatedUser != null) { + return new ResponseEntity<>(updatedUser, HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteUser(@PathVariable("id") Long id) { + boolean deleted = userService.deleteUser(id); + if (deleted) { + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } +}