diff --git a/pom.xml b/pom.xml
index cd8df1d..f43e3f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.6
+ 1.5.7
pom
ZKH Framework
A Java framework for ZKH applications
diff --git a/zkh-common/pom.xml b/zkh-common/pom.xml
index 3d78449..e2695bf 100644
--- a/zkh-common/pom.xml
+++ b/zkh-common/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.6
+ 1.5.7
zkh-common
diff --git a/zkh-data/pom.xml b/zkh-data/pom.xml
index 78cc252..8dd4ef3 100644
--- a/zkh-data/pom.xml
+++ b/zkh-data/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.6
+ 1.5.7
zkh-data
diff --git a/zkh-file/pom.xml b/zkh-file/pom.xml
index 67ee0b8..764ba44 100644
--- a/zkh-file/pom.xml
+++ b/zkh-file/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.6
+ 1.5.7
zkh-file
diff --git a/zkh-log/pom.xml b/zkh-log/pom.xml
index 2c027e3..ae15e10 100644
--- a/zkh-log/pom.xml
+++ b/zkh-log/pom.xml
@@ -6,7 +6,7 @@
vip.jcfd
zkh-framework
- 1.5.6
+ 1.5.7
zkh-log
diff --git a/zkh-web/pom.xml b/zkh-web/pom.xml
index 30f4d19..162117f 100644
--- a/zkh-web/pom.xml
+++ b/zkh-web/pom.xml
@@ -7,7 +7,7 @@
vip.jcfd
zkh-framework
- 1.5.6
+ 1.5.7
zkh-web
diff --git a/zkh-web/src/main/java/vip/jcfd/web/config/GlobalExceptionHandler.java b/zkh-web/src/main/java/vip/jcfd/web/config/GlobalExceptionHandler.java
index b969493..957d992 100644
--- a/zkh-web/src/main/java/vip/jcfd/web/config/GlobalExceptionHandler.java
+++ b/zkh-web/src/main/java/vip/jcfd/web/config/GlobalExceptionHandler.java
@@ -1,11 +1,16 @@
package vip.jcfd.web.config;
+import jakarta.validation.ConstraintViolationException;
import jakarta.validation.ValidationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
import org.springframework.validation.BindException;
+import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.resource.NoResourceFoundException;
import vip.jcfd.common.core.BizException;
@@ -54,4 +59,38 @@ public class GlobalExceptionHandler {
log.error("接口入参校验失败", e);
return R.error(e.getMessage());
}
+
+ /**
+ * 处理 @RequestBody + @Valid 校验失败
+ */
+ @ExceptionHandler(MethodArgumentNotValidException.class)
+ @ResponseStatus(HttpStatus.BAD_REQUEST)
+ public R> handleMethodArgumentNotValid(MethodArgumentNotValidException ex) {
+ log.error("接口入参校验失败", ex);
+ BindingResult bindingResult = ex.getBindingResult();
+
+ String msg = bindingResult.getFieldErrors()
+ .stream()
+ .map(err -> err.getField() + ": " + err.getDefaultMessage())
+ .findFirst()
+ .orElse("参数错误");
+
+ return R.error(msg);
+ }
+
+ /**
+ * 处理 @RequestParam / @PathVariable 校验失败
+ */
+ @ExceptionHandler(ConstraintViolationException.class)
+ @ResponseStatus(HttpStatus.BAD_REQUEST)
+ public R> handleConstraintViolation(ConstraintViolationException ex) {
+ log.error("接口入参校验失败", ex);
+ String msg = ex.getConstraintViolations()
+ .stream()
+ .map(v -> v.getPropertyPath() + ": " + v.getMessage())
+ .findFirst()
+ .orElse("参数错误");
+
+ return R.error(msg);
+ }
}