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-12-10 18:17:12 +00:00
committed by rstoyanchev
parent 658775b914
commit e99791f289
3 changed files with 10 additions and 1 deletions
@@ -171,7 +171,7 @@ Message codes and arguments for each error are also resolved via `MessageSource`
| `NoResourceFoundException`
| (default)
|
| `+{0}+` the resource
| `TypeMismatchException`
| (default)
@@ -78,4 +78,8 @@ public class NoResourceFoundException extends ServletException implements ErrorR
return this.body;
}
@Override
public Object[] getDetailMessageArguments() {
return new String[]{this.resourcePath};
}
}
@@ -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");
}
}