|
|
|
@ -74,13 +74,16 @@ It is a common requirement to customize and internationalize error response deta |
|
|
|
It is also good practice to customize the problem details for Spring MVC exceptions |
|
|
|
It is also good practice to customize the problem details for Spring MVC exceptions |
|
|
|
to avoid revealing implementation details. This section describes the support for that. |
|
|
|
to avoid revealing implementation details. This section describes the support for that. |
|
|
|
|
|
|
|
|
|
|
|
An `ErrorResponse` exposes message codes for "type" and "title". `ResponseEntityExceptionHandler` resolves |
|
|
|
An `ErrorResponse` exposes message codes for "type", "title", and "detail", as well as |
|
|
|
|
|
|
|
message code arguments for the "detail" field. `ResponseEntityExceptionHandler` resolves |
|
|
|
these through a xref:core/beans/context-introduction.adoc#context-functionality-messagesource[MessageSource] |
|
|
|
these through a xref:core/beans/context-introduction.adoc#context-functionality-messagesource[MessageSource] |
|
|
|
and updates the corresponding `ProblemDetail` fields accordingly. |
|
|
|
and updates the corresponding `ProblemDetail` fields accordingly. |
|
|
|
|
|
|
|
|
|
|
|
The default strategy for message codes follows the pattern: |
|
|
|
The default strategy for message codes is as follows: |
|
|
|
|
|
|
|
|
|
|
|
`problemDetail.[type|title].[fully qualified exception class name]` |
|
|
|
* "type": `problemDetail.type.[fully qualified exception class name]` |
|
|
|
|
|
|
|
* "title": `problemDetail.title.[fully qualified exception class name]` |
|
|
|
|
|
|
|
* "detail": `problemDetail.[fully qualified exception class name][suffix]` |
|
|
|
|
|
|
|
|
|
|
|
An `ErrorResponse` may expose more than one message code, typically adding a suffix |
|
|
|
An `ErrorResponse` may expose more than one message code, typically adding a suffix |
|
|
|
to the default message code. The table below lists message codes, and arguments for |
|
|
|
to the default message code. The table below lists message codes, and arguments for |
|
|
|
|