Browse Source

fix(core): 处理静态资源不存在异常,忽略favicon.ico日志

- 新增处理NoResourceFoundException异常的方法
- 当请求favicon.ico不存在时,记录调试级别日志且不报错
- 其他静态资源不存在时,警告日志提示资源缺失
- 返回接口不存在的统一错误结果码
SheepHy 1 week ago
parent
commit
d152785631

+ 17 - 0
src/main/java/com/zsElectric/boot/core/exception/GlobalExceptionHandler.java

@@ -92,6 +92,23 @@ public class GlobalExceptionHandler {
         return Result.failed(ResultCode.INTERFACE_NOT_EXIST);
     }
 
+    /**
+     * 处理静态资源不存在的异常
+     * <p>
+     * 当请求静态资源(如favicon.ico)不存在时,会抛出NoResourceFoundException异常。
+     */
+    @ExceptionHandler(org.springframework.web.servlet.resource.NoResourceFoundException.class)
+    @ResponseStatus(HttpStatus.NOT_FOUND)
+    public <T> Result<T> handleNoResourceFoundException(org.springframework.web.servlet.resource.NoResourceFoundException e) {
+        // 忽略favicon.ico等静态资源请求,不记录ERROR日志
+        if (e.getMessage().contains("favicon.ico")) {
+            log.debug("浏览器请求favicon.ico,忽略");
+        } else {
+            log.warn("静态资源不存在: {}", e.getMessage());
+        }
+        return Result.failed(ResultCode.INTERFACE_NOT_EXIST);
+    }
+
     /**
      * 处理缺少请求参数的异常
      * <p>