From 9bfdf1ff20086c04bbe6576706bfee95c9d7fea0 Mon Sep 17 00:00:00 2001 From: 刘小明 <liuxm_a@163.com> Date: 星期二, 13 八月 2024 10:46:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- pms-parent/pms-common/src/main/java/com/dy/common/webUtil/GlExceptionHandler.java | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 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..19ac9e4 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,9 +23,30 @@ 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()); + return BaseResponseUtils.buildException( t.getMessage()); } } -- Gitblit v1.8.0