From d50e8c0863db1688c1fcb15e4a06c4c01be9e808 Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Mon, 4 Aug 2025 14:22:55 +0800 Subject: [PATCH] fix: guard against null exception messages --- .../controller/GlobalExceptionHandler.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/com/openisle/controller/GlobalExceptionHandler.java b/backend/src/main/java/com/openisle/controller/GlobalExceptionHandler.java index 7af18210b..cc1106df0 100644 --- a/backend/src/main/java/com/openisle/controller/GlobalExceptionHandler.java +++ b/backend/src/main/java/com/openisle/controller/GlobalExceptionHandler.java @@ -7,30 +7,40 @@ import com.openisle.exception.FieldException; import com.openisle.exception.NotFoundException; import com.openisle.exception.RateLimitException; +import java.util.HashMap; import java.util.Map; +import java.util.Objects; @RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(FieldException.class) public ResponseEntity handleFieldException(FieldException ex) { - return ResponseEntity.badRequest() - .body(Map.of("error", ex.getMessage(), "field", ex.getField())); + Map body = new HashMap<>(); + body.put("error", Objects.toString(ex.getMessage(), null)); + body.put("field", ex.getField()); + return ResponseEntity.badRequest().body(body); } @ExceptionHandler(NotFoundException.class) public ResponseEntity handleNotFoundException(NotFoundException ex) { - return ResponseEntity.status(404).body(Map.of("error", ex.getMessage())); + Map body = new HashMap<>(); + body.put("error", Objects.toString(ex.getMessage(), null)); + return ResponseEntity.status(404).body(body); } @ExceptionHandler(RateLimitException.class) public ResponseEntity handleRateLimitException(RateLimitException ex) { - return ResponseEntity.status(429).body(Map.of("error", ex.getMessage())); + Map body = new HashMap<>(); + body.put("error", Objects.toString(ex.getMessage(), null)); + return ResponseEntity.status(429).body(body); } @ExceptionHandler(Exception.class) public ResponseEntity handleException(Exception ex) { - return ResponseEntity.badRequest().body(Map.of("error", ex.getMessage())); + Map body = new HashMap<>(); + body.put("error", Objects.toString(ex.getMessage(), null)); + return ResponseEntity.badRequest().body(body); } }