From 4dfed91457bc1a91f0e3cfd99e83fb5e871c54a2 Mon Sep 17 00:00:00 2001 From: yovinchen Date: Sun, 21 Jan 2024 10:47:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ControllerExceptionHandler.java | 81 +++++++++++++++++++ member/src/main/resources/logback-spring.xml | 5 +- 2 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java diff --git a/common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java b/common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java new file mode 100644 index 0000000..6c10e4d --- /dev/null +++ b/common/src/main/java/com/yovinchen/train/common/controller/ControllerExceptionHandler.java @@ -0,0 +1,81 @@ +package com.yovinchen.train.common.controller; + + +import com.yovinchen.train.common.exception.BusinessException; +import com.yovinchen.train.common.resp.CommonResp; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.validation.BindException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * ClassName: ControllerExceptionHandler + * Package: com.yovinchen.train.common.controller + * + * @author yovinchen + * @Create 2024/1/21 10:34 + */ +@ControllerAdvice +public class ControllerExceptionHandler { + + private static final Logger LOG = LoggerFactory.getLogger(ControllerExceptionHandler.class); + + /** + * 所有异常统一处理 + * + * @param e + * @return + */ + @ExceptionHandler(value = Exception.class) + @ResponseBody + public CommonResp exceptionHandler(Exception e) { + CommonResp commonResp = new CommonResp(); + LOG.error("系统异常:", e); + commonResp.setSuccess(false); + commonResp.setMessage("系统出现异常,请联系管理员"); + return commonResp; + } + + /** + * 业务异常统一处理 + * + * @param e + * @return + */ + @ExceptionHandler(value = BusinessException.class) + @ResponseBody + public CommonResp exceptionHandler(BusinessException e) { + CommonResp commonResp = new CommonResp(); + LOG.error("业务异常:{}", e.getE() + .getDesc()); + commonResp.setSuccess(false); + commonResp.setMessage(e.getE() + .getDesc()); + return commonResp; + } + + /** + * 校验异常统一处理 + * + * @param e + * @return + */ + @ExceptionHandler(value = BindException.class) + @ResponseBody + public CommonResp exceptionHandler(BindException e) { + CommonResp commonResp = new CommonResp(); + LOG.error("校验异常:{}", e.getBindingResult() + .getAllErrors() + .get(0) + .getDefaultMessage()); + commonResp.setSuccess(false); + commonResp.setMessage(e.getBindingResult() + .getAllErrors() + .get(0) + .getDefaultMessage()); + return commonResp; + } + +} diff --git a/member/src/main/resources/logback-spring.xml b/member/src/main/resources/logback-spring.xml index 0c0e742..30af340 100644 --- a/member/src/main/resources/logback-spring.xml +++ b/member/src/main/resources/logback-spring.xml @@ -5,9 +5,8 @@ - %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread - %green(%-18X{LOG_ID}) %msg%n - + @formatter:off + %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n