Unwrap Optional in MethodValidationAdapter

See gh-31746
This commit is contained in:
rstoyanchev
2023-12-21 17:55:49 +00:00
parent f0add920f5
commit 459338f6fd
2 changed files with 24 additions and 1 deletions

View File

@@ -24,6 +24,7 @@ import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -354,6 +355,10 @@ public class MethodValidationAdapter implements MethodValidator {
bean = map.get(containerKey);
container = map;
}
else if (arg instanceof Optional<?> optional) {
bean = optional.orElse(null);
container = optional;
}
else {
Assert.state(!node.isInIterable(), "No way to unwrap Iterable without index");
bean = arg;