Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-parent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
schbrain-parent
Commits
a1641d5c
Commit
a1641d5c
authored
Feb 22, 2024
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Temporarily rollback exception handling
parent
06b29474
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
37 deletions
+13
-37
commons/web-common/src/main/java/com/schbrain/common/web/exception/GlobalExceptionHandler.java
...schbrain/common/web/exception/GlobalExceptionHandler.java
+13
-37
No files found.
commons/web-common/src/main/java/com/schbrain/common/web/exception/GlobalExceptionHandler.java
View file @
a1641d5c
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
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment