Apply default value in case of null after conversion

Closes gh-29550
This commit is contained in:
rstoyanchev
2023-06-20 13:01:37 +01:00
parent 37ff9792be
commit b98c1ec36a
4 changed files with 36 additions and 9 deletions

View File

@@ -133,9 +133,13 @@ public abstract class AbstractNamedValueMethodArgumentResolver implements Handle
namedValueInfo.name, parameter, ex.getCause());
}
// Check for null value after conversion of incoming argument value
if (arg == null && namedValueInfo.defaultValue == null &&
namedValueInfo.required && !nestedParameter.isOptional()) {
handleMissingValueAfterConversion(namedValueInfo.name, nestedParameter, webRequest);
if (arg == null) {
if (namedValueInfo.defaultValue != null) {
arg = resolveEmbeddedValuesAndExpressions(namedValueInfo.defaultValue);
}
else if (namedValueInfo.required && !nestedParameter.isOptional()) {
handleMissingValueAfterConversion(namedValueInfo.name, nestedParameter, webRequest);
}
}
}