Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
micro_app
gk
Commits
1f0dcf6d
Commit
1f0dcf6d
authored
Dec 24, 2025
by
daniel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(GlobalException):空指针异常处理
parent
92560ec3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
0 deletions
+49
-0
GlobalExceptionHandler.java
.../com/dlbridge/jadp/config/web/GlobalExceptionHandler.java
+49
-0
No files found.
src/main/java/com/dlbridge/jadp/config/web/GlobalExceptionHandler.java
View file @
1f0dcf6d
...
@@ -10,9 +10,14 @@ import org.springframework.web.bind.annotation.ResponseBody;
...
@@ -10,9 +10,14 @@ import org.springframework.web.bind.annotation.ResponseBody;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.multipart.MaxUploadSizeExceededException
;
import
org.springframework.web.multipart.MaxUploadSizeExceededException
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Arrays
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Log4j2
@Log4j2
@Order
(
0
)
@Order
(
0
)
@RestControllerAdvice
@RestControllerAdvice
...
@@ -43,4 +48,48 @@ public class GlobalExceptionHandler {
...
@@ -43,4 +48,48 @@ public class GlobalExceptionHandler {
response
.
setStatus
(
HttpServletResponse
.
SC_BAD_REQUEST
);
response
.
setStatus
(
HttpServletResponse
.
SC_BAD_REQUEST
);
return
ResultBean
.
fail
(
"文件大小超出限制,最大允许: "
+
maxFileSize
);
return
ResultBean
.
fail
(
"文件大小超出限制,最大允许: "
+
maxFileSize
);
}
}
@ResponseBody
@ExceptionHandler
(
NullPointerException
.
class
)
public
ResultBean
<?>
handleNpe
(
NullPointerException
ex
,
HttpServletRequest
request
)
{
String
uri
=
request
.
getRequestURI
();
String
method
=
request
.
getMethod
();
String
query
=
request
.
getQueryString
();
String
ip
=
getClientIp
(
request
);
String
params
=
getRequestParams
(
request
);
log
.
error
(
"NullPointerException occurred\n"
+
"URI : {}\n"
+
"Method : {}\n"
+
"Query : {}\n"
+
"params :{}\n"
+
"IP : {}\n"
+
"Message : {} "
,
uri
,
method
,
query
,
params
,
ip
,
ex
.
getMessage
(),
ex
);
return
ResultBean
.
fail
(
"服务器异常,请稍后再试"
);
}
/**
* 获取请求的ip
* @param request 请求参数
* @return ip
*/
private
String
getClientIp
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"X-Forwarded-For"
);
if
(
ip
==
null
||
ip
.
isEmpty
()
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"X-Real-IP"
);
}
if
(
ip
==
null
||
ip
.
isEmpty
()
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
return
ip
;
}
/**
* 获取请求参数
* @param request 请求参数
* @return params
*/
private
String
getRequestParams
(
HttpServletRequest
request
)
{
Map
<
String
,
String
[]>
paramMap
=
request
.
getParameterMap
();
if
(
paramMap
.
isEmpty
())
{
return
""
;
}
return
paramMap
.
entrySet
()
.
stream
()
.
map
(
e
->
e
.
getKey
()
+
"="
+
Arrays
.
toString
(
e
.
getValue
()))
.
collect
(
Collectors
.
joining
(
"&"
));
}
}
}
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