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:
parent
658775b914
commit
e99791f289
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue