From 1adbcf8e0263d569ffa6a05775c357f52e07f436 Mon Sep 17 00:00:00 2001
From: liuxm <liuxm_a@163.com>
Date: 星期二, 11 六月 2024 16:57:50 +0800
Subject: [PATCH] 验证和异常处理
---
pms-parent/pms-common/src/main/java/com/dy/common/webUtil/GlExceptionHandler.java | 26 ++++++++++++
/dev/null | 37 ------------------
2 files changed, 25 insertions(+), 38 deletions(-)
diff --git a/pms-parent/pms-common/src/main/java/com/dy/common/webUtil/GlExceptionHandler.java b/pms-parent/pms-common/src/main/java/com/dy/common/webUtil/GlExceptionHandler.java
index cfafcf9..1eeaf11 100644
--- a/pms-parent/pms-common/src/main/java/com/dy/common/webUtil/GlExceptionHandler.java
+++ b/pms-parent/pms-common/src/main/java/com/dy/common/webUtil/GlExceptionHandler.java
@@ -1,6 +1,8 @@
package com.dy.common.webUtil;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -9,6 +11,7 @@
* 鍏ㄥ眬寮傚父澶勭悊锛屽鐞嗗湪Controller涓姏鍑虹殑寮傚父锛屽湪Controller涔嬪墠锛堝Fileter锛夊彂鐢熺殑閿欒鎴栧紓甯哥敱GlErrorCtrl澶勭悊
* 姝ょ被鏄熀浜庢嫤鎴櫒鍜屽疄鐜版寚瀹氭帴鍙o紙GlExceptionHandler鍜孏lExceptionHandlerImpl锛�
* 鍙︿竴绉嶅疄鐜版柟寮忔槸鍩轰簬娉ㄨВ鍒囬潰瀹炵幇锛圙lExceptionAspect锛�
+ * handleValidationExceptions()澶勭悊鍙傛暟楠岃瘉鎬у紓甯�,涓� @Valid閰嶅悎浣跨敤
*/
@ControllerAdvice
@ResponseBody
@@ -20,7 +23,28 @@
log.error("鎹曡幏鍒癎lException锛歿}", e.getMsg(), e);
return BaseResponseUtils.buildException(e.getMsg());
}
-
+ @ExceptionHandler
+ public BaseResponse handleValidationExceptions(MethodArgumentNotValidException e) {
+ log.error("鎹曡幏鍒伴獙璇佹�у紓甯革細{}锛屽紓甯告爤杞ㄨ抗锛歿}", e.getMessage(), e.getStackTrace());
+ // 妫�鏌ユ槸鍚︽湁閿欒锛岄伩鍏嶇┖鍒楄〃鎯呭喌涓嬬殑涓嶅繀瑕佹搷浣�
+ BindingResult bindingResult = e.getBindingResult();
+ if (bindingResult.hasErrors()) {
+ StringBuilder sb = new StringBuilder();
+ bindingResult.getAllErrors().forEach(error -> {
+ // 蹇界暐浜嗗瓧娈靛悕鐨勮幏鍙栵紝濡傛灉闇�瑕佸彲浠ユ寜闇�鎭㈠骞朵娇鐢�
+ // String fieldName = ((FieldError) error).getField();
+ String errorMessage = error.getDefaultMessage();
+ sb.append(errorMessage).append("锛�");
+ });
+ // 浼樺寲杩斿洖鍊肩殑娉涘瀷鎸囧畾
+ return BaseResponseUtils.buildException(sb.substring(0, sb.length() - 1));
+ } else {
+ // 濡傛灉娌℃湁閿欒锛岃繑鍥炰竴涓�氱敤閿欒娑堟伅锛岄伩鍏嶈繑鍥炵┖鎴杗ull
+ log.warn("棰勬湡鐨勯獙璇侀敊璇笉瀛樺湪锛岃繖鍙兘鏄竴涓紓甯稿鐞嗛�昏緫鐨勯敊璇��");
+ return BaseResponseUtils.buildException("鍙戠敓浜嗕竴涓湭鐭ョ殑楠岃瘉閿欒銆�");
+ }
+ }
+ @ExceptionHandler
public BaseResponse exceptionHandler(Throwable t) {
log.error("鎹曡幏鍒板紓甯革細{}",t.getMessage(),t);
return BaseResponseUtils.buildException("鍦–ontroller涓垨鍚庝骇鐢熷紓甯革細" + t.getMessage());
diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java
deleted file mode 100644
index 82b5ab9..0000000
--- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/aop/ExceptionHandlerAdvice.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.dy.pmsGlobal.aop;
-
-import com.dy.common.webUtil.BaseResponse;
-import com.dy.common.webUtil.BaseResponseUtils;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
-
-@ResponseBody
-@RestControllerAdvice
-@Slf4j
-public class ExceptionHandlerAdvice {
-
- @ExceptionHandler(MethodArgumentNotValidException.class)
- public BaseResponse<?> handleValidationExceptions(MethodArgumentNotValidException ex) {
- log.error("[handleValidationExceptions]", ex);
- StringBuilder sb = new StringBuilder();
- ex.getBindingResult().getAllErrors().forEach(error -> {
-// String fieldName = ((org.springframework.validation.FieldError) error).getField();
- String errorMessage = error.getDefaultMessage();
- sb.append(errorMessage).append(";");
- });
- return BaseResponseUtils.buildException(sb.substring(0, sb.length() - 1));
- }
- /**
- * 澶勭悊绯荤粺寮傚父锛屽厹搴曞鐞嗘墍鏈夊紓甯�
- */
- @ExceptionHandler(value = Exception.class)
- public BaseResponse<?> defaultExceptionHandler(Throwable ex) {
- log.error("[defaultExceptionHandler]", ex);
- // 杩斿洖 ERROR
- return BaseResponseUtils.buildException(ex.getMessage());
- }
-
-}
\ No newline at end of file
--
Gitblit v1.8.0