From 5306c54c0b5a18592b08d3682a1702171ad796fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kr=C3=BChlmann?= Date: Fri, 1 May 2026 11:08:00 +0200 Subject: [PATCH] fix: suppress stack trace on 404 NoResourceFoundException Add a @RestControllerAdvice that catches NoResourceFoundException and returns a clean 404 with a single DEBUG log instead of a full stack trace. Handles browser devtools requests for .js.map files and similar missing static resources. --- .../config/GlobalExceptionHandler.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/main/java/dev/kruhlmann/imgfloat/config/GlobalExceptionHandler.java diff --git a/src/main/java/dev/kruhlmann/imgfloat/config/GlobalExceptionHandler.java b/src/main/java/dev/kruhlmann/imgfloat/config/GlobalExceptionHandler.java new file mode 100644 index 0000000..f7f1b88 --- /dev/null +++ b/src/main/java/dev/kruhlmann/imgfloat/config/GlobalExceptionHandler.java @@ -0,0 +1,22 @@ +package dev.kruhlmann.imgfloat.config; + +import jakarta.servlet.http.HttpServletRequest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.servlet.resource.NoResourceFoundException; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + private static final Logger LOG = LoggerFactory.getLogger(GlobalExceptionHandler.class); + + @ExceptionHandler(NoResourceFoundException.class) + public ResponseEntity handleNoResource(NoResourceFoundException ex, HttpServletRequest request) { + LOG.debug("404 Not Found: {}", request.getRequestURI()); + return ResponseEntity.status(HttpStatus.NOT_FOUND).build(); + } +}