From dfc1b839f38254fbba992b9a3c2005e173173699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Fri, 15 Mar 2024 08:27:59 +0100 Subject: [PATCH] Polish "Fix default strategy description of ProblemDetail error codes" See gh-32446 --- .../ROOT/pages/web/webmvc/mvc-ann-rest-exceptions.adoc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-rest-exceptions.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-rest-exceptions.adoc index 5dc7aac21d..6a1842b57c 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-rest-exceptions.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-rest-exceptions.adoc @@ -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 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] 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 to the default message code. The table below lists message codes, and arguments for