Improve i18n-support for NoResourceFoundException.

Return the requested resource as ErrorResponse.getDetailMessageArguments,
making it usable with message customization and i18n.

See gh-35758

Signed-off-by: Samuel Gulliksson <samuel.gulliksson@gmail.com>
This commit is contained in:
Samuel Gulliksson 2025-11-05 07:58:40 +01:00 committed by rstoyanchev
parent 658775b914
commit e99791f289
3 changed files with 10 additions and 1 deletions

View File

@ -171,7 +171,7 @@ Message codes and arguments for each error are also resolved via `MessageSource`
| `NoResourceFoundException`
| (default)
|
| `+{0}+` the resource
| `TypeMismatchException`
| (default)

View File

@ -78,4 +78,8 @@ public class NoResourceFoundException extends ServletException implements ErrorR
return this.body;
}
@Override
public Object[] getDetailMessageArguments() {
return new String[]{this.resourcePath};
}
}

View File

@ -40,4 +40,9 @@ class NoResourceFoundExceptionTests {
assertThat(noResourceFoundException.getBody().getDetail()).isEqualTo("No static resource /resource.");
}
@Test
void messageArgumentsShouldContainResourcePath() {
var noResourceFoundException = new NoResourceFoundException(HttpMethod.GET, "/context/resource", "/resource");
assertThat(noResourceFoundException.getDetailMessageArguments()).containsExactly("/resource");
}
}