diff --git a/src/main/java/com/example/wfwebapi/controller/CaracterController.java b/src/main/java/com/example/wfwebapi/controller/CaracterController.java index d99f559..1a8a6fa 100644 --- a/src/main/java/com/example/wfwebapi/controller/CaracterController.java +++ b/src/main/java/com/example/wfwebapi/controller/CaracterController.java @@ -6,6 +6,8 @@ import com.example.wfwebapi.repository.CaracterRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/api/v1/caracter") public class CaracterController { @@ -19,6 +21,11 @@ public class CaracterController { .orElseThrow(() -> new ResourceNotFoundException("Caracter non trouvé : " + id)); } + @GetMapping("/") + public List getCaracters() { + return caracterRepository.findAll(); + } + @PostMapping public Caracter createCaracter(@RequestBody Caracter caracter) { return caracterRepository.save(caracter); diff --git a/src/main/java/com/example/wfwebapi/exception/GlobalExceptionHandler.java b/src/main/java/com/example/wfwebapi/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..a5a10fe --- /dev/null +++ b/src/main/java/com/example/wfwebapi/exception/GlobalExceptionHandler.java @@ -0,0 +1,25 @@ +package com.example.wfwebapi.exception; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(Exception.class) + public ResponseEntity handleAllExceptions(Exception ex) { + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("An error occurred : " + ex.getMessage()); + } + + @ExceptionHandler(NullPointerException.class) + public ResponseEntity handleNullPointerException(NullPointerException ex) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Null pointer exception caught : " + ex.getMessage()); + } + + @ExceptionHandler(ResourceNotFoundException.class) + public ResponseEntity handleResourceNotFoundException(ResourceNotFoundException ex) { + return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Resource not found : " + ex.getMessage()); + } +}