Document need for -parameters flag in exception messages

Closes gh-31675
This commit is contained in:
Sam Brannen
2023-11-25 14:53:56 +01:00
parent 23dc5696d9
commit 657b1c6455
5 changed files with 21 additions and 16 deletions

View File

@@ -152,9 +152,10 @@ public abstract class AbstractNamedValueArgumentResolver extends HandlerMethodAr
if (info.name.isEmpty()) {
name = parameter.getParameterName();
if (name == null) {
throw new IllegalArgumentException(
"Name for argument of type [" + parameter.getNestedParameterType().getName() +
"] not specified, and parameter name information not found in class file either.");
throw new IllegalArgumentException("""
Name for argument of type [%s] not specified, and parameter name information not \
available via reflection. Ensure that the compiler uses the '-parameters' flag."""
.formatted(parameter.getNestedParameterType().getName()));
}
}
String defaultValue = (ValueConstants.DEFAULT_NONE.equals(info.defaultValue) ? null : info.defaultValue);