From a1641d5c4d28e6c6e224f091dfd785a6697288a3 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Thu, 22 Feb 2024 15:16:28 +0800 Subject: [PATCH] Temporarily rollback exception handling --- .../web/exception/GlobalExceptionHandler.java | 50 +++++-------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/exception/GlobalExceptionHandler.java b/commons/web-common/src/main/java/com/schbrain/common/web/exception/GlobalExceptionHandler.java index ef24209..42f7204 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/exception/GlobalExceptionHandler.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/exception/GlobalExceptionHandler.java @@ -1,41 +1,34 @@ package com.schbrain.common.web.exception; -import static com.schbrain.common.constants.ResponseCodeConstants.PARAM_INVALID; -import static com.schbrain.common.constants.ResponseCodeConstants.SERVER_ERROR; -import static com.schbrain.common.util.support.ValidationMessageBuilder.buildBindingErrorMsg; -import static com.schbrain.common.util.support.ValidationMessageBuilder.buildConstraintViolationErrorMsg; - import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.util.StrUtil; import com.schbrain.common.constants.ResponseActionConstants; import com.schbrain.common.exception.BaseException; import com.schbrain.common.web.result.ResponseDTO; -import java.sql.SQLException; -import java.util.Arrays; -import java.util.List; -import javax.validation.ConstraintViolationException; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; import org.springframework.http.HttpStatus; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.util.ClassUtils; import org.springframework.validation.BindException; -import org.springframework.web.HttpMediaTypeNotAcceptableException; -import org.springframework.web.HttpMediaTypeNotSupportedException; -import org.springframework.web.HttpRequestMethodNotSupportedException; -import org.springframework.web.bind.MissingPathVariableException; -import org.springframework.web.bind.MissingRequestCookieException; -import org.springframework.web.bind.MissingRequestHeaderException; -import org.springframework.web.bind.MissingServletRequestParameterException; -import org.springframework.web.bind.ServletRequestBindingException; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.*; +import org.springframework.web.bind.*; +import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.AsyncRequestTimeoutException; import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException; import org.springframework.web.multipart.support.MissingServletRequestPartException; import org.springframework.web.servlet.NoHandlerFoundException; +import javax.validation.ConstraintViolationException; +import java.sql.SQLException; +import java.util.Arrays; +import java.util.List; + +import static com.schbrain.common.constants.ResponseCodeConstants.PARAM_INVALID; +import static com.schbrain.common.constants.ResponseCodeConstants.SERVER_ERROR; +import static com.schbrain.common.util.support.ValidationMessageBuilder.buildBindingErrorMsg; +import static com.schbrain.common.util.support.ValidationMessageBuilder.buildConstraintViolationErrorMsg; + /** * @author liaozan * @since 2019/10/14 @@ -74,7 +67,6 @@ public class GlobalExceptionHandler { return loggingThenBuildResponse(ex, SERVER_ERROR); } - @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(IllegalStateException.class) public Object handleIllegalStateException(IllegalStateException ex) { return loggingThenBuildResponse(ex, SERVER_ERROR); @@ -86,27 +78,23 @@ public class GlobalExceptionHandler { return loggingThenBuildResponse(ex, PARAM_INVALID); } - @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(AsyncRequestTimeoutException.class) public Object handleAsyncRequestTimeoutException(AsyncRequestTimeoutException ex) { return loggingThenBuildResponse(ex, SERVER_ERROR); } /************************************* SQL Exception Handing *************************************/ - @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(SQLException.class) public Object handleSQLException(SQLException ex) { return loggingThenBuildResponse(ex, SERVER_ERROR); } - @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler(DataAccessException.class) public Object handleDataAccessException(DataAccessException ex) { return loggingThenBuildResponse(ex, SERVER_ERROR); } /************************************* Http Request Exception Handing *************************************/ - @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED) @ExceptionHandler(HttpRequestMethodNotSupportedException.class) public Object handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException ex) { String errorMsg = StrUtil.format("不支持该HTTP方法: {}, 请使用 {}", ex.getMethod(), Arrays.toString(ex.getSupportedMethods())); @@ -114,7 +102,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.UNSUPPORTED_MEDIA_TYPE) @ExceptionHandler(HttpMediaTypeNotSupportedException.class) public Object handleHttpMediaTypeNotSupportedException(HttpMediaTypeNotSupportedException ex) { String errorMsg = StrUtil.format("不支持该媒体类型: {}, 请使用 {}", ex.getContentType(), ex.getSupportedMediaTypes()); @@ -122,7 +109,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.NOT_ACCEPTABLE) @ExceptionHandler(HttpMediaTypeNotAcceptableException.class) public Object handleHttpMediaTypeNotAcceptableException(HttpMediaTypeNotAcceptableException ex) { String errorMsg = StrUtil.format("不支持的媒体类型, 请使用 {}", ex.getSupportedMediaTypes()); @@ -131,7 +117,6 @@ public class GlobalExceptionHandler { } /************************************* Method Parameter Exception Handing *************************************/ - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(HttpMessageNotReadableException.class) public Object handleHttpMessageNotReadableException(HttpMessageNotReadableException ex) { String errorMsg = StrUtil.format("参数解析失败, {}", ex.getMessage()); @@ -139,7 +124,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MethodArgumentTypeMismatchException.class) public Object handlerMethodArgumentTypeMismatchException(MethodArgumentTypeMismatchException ex) { Object value = ex.getValue(); @@ -152,7 +136,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MissingPathVariableException.class) public Object handleMissingPathVariableException(MissingPathVariableException ex) { String errorMsg = StrUtil.format("丢失路径参数, 参数名: {}, 参数类型: {}", ex.getVariableName(), ex.getParameter().getParameterType()); @@ -160,7 +143,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MissingRequestCookieException.class) public Object handleMissingRequestCookieException(MissingRequestCookieException ex) { String errorMsg = StrUtil.format("丢失Cookie参数, 参数名: {}, 参数类型: {}", ex.getCookieName(), ex.getParameter().getParameterType()); @@ -168,7 +150,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MissingRequestHeaderException.class) public Object handleMissingRequestHeaderException(MissingRequestHeaderException ex) { String errorMsg = StrUtil.format("丢失Header参数, 参数名: {}, 参数类型: {}", ex.getHeaderName(), ex.getParameter().getParameterType()); @@ -176,7 +157,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MissingServletRequestPartException.class) public Object handleMissingServletRequestPartException(MissingServletRequestPartException ex) { String errorMsg = StrUtil.format("丢失参数: {}", ex.getRequestPartName()); @@ -184,7 +164,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MissingServletRequestParameterException.class) public Object handleServletRequestParameterException(MissingServletRequestParameterException ex) { String errorMsg = StrUtil.format("丢失Query参数, 参数名: {}, 参数类型: {}", ex.getParameterName(), ex.getParameterType()); @@ -192,7 +171,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(ServletRequestBindingException.class) public Object handleServletRequestBindingException(ServletRequestBindingException ex) { String errorMsg = StrUtil.format("参数绑定失败: {}", ex.getMessage()); @@ -201,7 +179,6 @@ public class GlobalExceptionHandler { } /************************************* Parameter Binding Exception Handing *************************************/ - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(BindException.class) public Object handleBindException(BindException ex) { String errorMsg = buildBindingErrorMsg(ex.getBindingResult()); @@ -209,7 +186,6 @@ public class GlobalExceptionHandler { return buildResponse(ex, PARAM_INVALID, errorMsg); } - @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(ConstraintViolationException.class) public Object handleConstraintViolationException(ConstraintViolationException ex) { String errorMsg = buildConstraintViolationErrorMsg(ex.getConstraintViolations()); -- GitLab