From 2162e93732df17ce5b59e0fb4146c6f3248107a9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 05 三月 2025 18:02:48 +0800
Subject: [PATCH] 最新版本541200007
---
server/meeting/meeting_service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java | 67 +++++++++++++++++++++++++++++++++
1 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java b/server/meeting/meeting_service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java
new file mode 100644
index 0000000..c7866a7
--- /dev/null
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/config/handler/GlobalExceptionHandler.java
@@ -0,0 +1,67 @@
+package com.doumee.config.handler;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.service.business.third.model.ApiResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.UnauthorizedException;
+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.RestControllerAdvice;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍏ㄥ眬寮傚父澶勭悊
+ * @author Eva.Caesar Liu
+ * @date 2023/03/21 14:49
+ */
+@Slf4j
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+ /**
+ * 涓氬姟寮傚父澶勭悊
+ */
+ @ExceptionHandler(BusinessException.class)
+ public <T> ApiResponse<T> handleBusinessException (BusinessException e) {
+ log.error(e.getMessage(), e);
+ return ApiResponse.failed(e.getCode(), e.getMessage());
+ }
+
+ /**
+ * 鏃犳潈闄愬紓甯稿鐞�
+ */
+ @ExceptionHandler(UnauthorizedException.class)
+ public <T> ApiResponse<T> handleUnauthorizedException (UnauthorizedException e) {
+ log.error(e.getMessage(), e);
+ return ApiResponse.failed("娌℃湁鎿嶄綔鏉冮檺");
+ }
+
+ /**
+ * 鍙傛暟楠岃瘉鏈�氳繃寮傚父澶勭悊
+ */
+ @ExceptionHandler(MethodArgumentNotValidException.class)
+ public <T> ApiResponse<T> handleMethodArgumentNotValidException (MethodArgumentNotValidException e) {
+ log.error(e.getMessage(), e);
+ BindingResult bindingResult = e.getBindingResult();
+ List<String> errors = new ArrayList<>();
+ for(FieldError fieldError : bindingResult.getFieldErrors()){
+ errors.add(fieldError.getDefaultMessage());
+ }
+ return ApiResponse.failed(ResponseStatus.BAD_REQUEST.getCode(), StringUtils.join(errors));
+ }
+
+ /**
+ * 鍏跺畠寮傚父澶勭悊
+ */
+ @ExceptionHandler(Exception.class)
+ public <T> ApiResponse<T> handleException (Exception e) {
+ log.error(e.getMessage(), e);
+ return ApiResponse.failed(ResponseStatus.SERVER_ERROR, e);
+ }
+}
--
Gitblit v1.9.3