diff --git a/backend/src/main/java/com/recipeapp/common/ForbiddenException.java b/backend/src/main/java/com/recipeapp/common/ForbiddenException.java new file mode 100644 index 0000000..fcce6a6 --- /dev/null +++ b/backend/src/main/java/com/recipeapp/common/ForbiddenException.java @@ -0,0 +1,7 @@ +package com.recipeapp.common; + +public class ForbiddenException extends RuntimeException { + public ForbiddenException(String message) { + super(message); + } +} diff --git a/backend/src/main/java/com/recipeapp/common/GlobalExceptionHandler.java b/backend/src/main/java/com/recipeapp/common/GlobalExceptionHandler.java index a196419..56c1e02 100644 --- a/backend/src/main/java/com/recipeapp/common/GlobalExceptionHandler.java +++ b/backend/src/main/java/com/recipeapp/common/GlobalExceptionHandler.java @@ -32,6 +32,12 @@ public class GlobalExceptionHandler { .body(ApiError.of("CONFLICT", ex.getMessage())); } + @ExceptionHandler(ForbiddenException.class) + public ResponseEntity handleForbidden(ForbiddenException ex) { + return ResponseEntity.status(HttpStatus.FORBIDDEN) + .body(ApiError.of("FORBIDDEN", ex.getMessage())); + } + @ExceptionHandler(ValidationException.class) public ResponseEntity handleBusinessValidation(ValidationException ex) { return ResponseEntity.status(HttpStatus.UNPROCESSABLE_ENTITY)