Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
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
DEMO
spring-boot
Commits
12b644d7
Commit
12b644d7
authored
Feb 03, 2020
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish contribution
See gh-19901
parent
aead3a7c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
11 deletions
+9
-11
DefaultErrorAttributes.java
...ework/boot/web/reactive/error/DefaultErrorAttributes.java
+8
-10
DefaultErrorAttributesTests.java
.../boot/web/reactive/error/DefaultErrorAttributesTests.java
+1
-1
No files found.
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/reactive/error/DefaultErrorAttributes.java
View file @
12b644d7
...
...
@@ -81,39 +81,37 @@ public class DefaultErrorAttributes implements ErrorAttributes {
errorAttributes
.
put
(
"timestamp"
,
new
Date
());
errorAttributes
.
put
(
"path"
,
request
.
path
());
Throwable
error
=
getError
(
request
);
HttpStatus
errorStatus
=
determineHttpStatus
(
error
);
ResponseStatus
responseStatus
=
AnnotatedElementUtils
.
findMergedAnnotation
(
error
.
getClass
(),
ResponseStatus
.
class
);
HttpStatus
errorStatus
=
determineHttpStatus
(
error
,
responseStatus
);
errorAttributes
.
put
(
"status"
,
errorStatus
.
value
());
errorAttributes
.
put
(
"error"
,
errorStatus
.
getReasonPhrase
());
errorAttributes
.
put
(
"message"
,
determineMessage
(
error
));
errorAttributes
.
put
(
"message"
,
determineMessage
(
error
,
responseStatus
));
handleException
(
errorAttributes
,
determineException
(
error
),
includeStackTrace
);
return
errorAttributes
;
}
private
HttpStatus
determineHttpStatus
(
Throwable
error
)
{
private
HttpStatus
determineHttpStatus
(
Throwable
error
,
ResponseStatus
responseStatus
)
{
if
(
error
instanceof
ResponseStatusException
)
{
return
((
ResponseStatusException
)
error
).
getStatus
();
}
ResponseStatus
responseStatus
=
AnnotatedElementUtils
.
findMergedAnnotation
(
error
.
getClass
(),
ResponseStatus
.
class
);
if
(
responseStatus
!=
null
)
{
return
responseStatus
.
code
();
}
return
HttpStatus
.
INTERNAL_SERVER_ERROR
;
}
private
String
determineMessage
(
Throwable
error
)
{
private
String
determineMessage
(
Throwable
error
,
ResponseStatus
responseStatus
)
{
if
(
error
instanceof
WebExchangeBindException
)
{
return
error
.
getMessage
();
}
if
(
error
instanceof
ResponseStatusException
)
{
return
((
ResponseStatusException
)
error
).
getReason
();
}
ResponseStatus
responseStatus
=
AnnotatedElementUtils
.
findMergedAnnotation
(
error
.
getClass
(),
ResponseStatus
.
class
);
if
(
responseStatus
!=
null
)
{
if
(
responseStatus
!=
null
&&
StringUtils
.
hasText
(
responseStatus
.
reason
()))
{
return
responseStatus
.
reason
();
}
return
error
.
getMessage
()
;
return
(
error
.
getMessage
()
!=
null
)
?
error
.
getMessage
()
:
""
;
}
private
Throwable
determineException
(
Throwable
error
)
{
...
...
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/reactive/error/DefaultErrorAttributesTests.java
View file @
12b644d7
...
...
@@ -94,7 +94,7 @@ public class DefaultErrorAttributesTests {
}
@Test
void
annotatedResponseStatusCodeWithExceptionMessage
()
{
public
void
annotatedResponseStatusCodeWithExceptionMessage
()
{
Exception
error
=
new
CustomException
(
"Test Message"
);
MockServerHttpRequest
request
=
MockServerHttpRequest
.
get
(
"/test"
).
build
();
Map
<
String
,
Object
>
attributes
=
this
.
errorAttributes
.
getErrorAttributes
(
buildServerRequest
(
request
,
error
),
...
...
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