I think you should be able to get this to work using the following customization:
bindings.bind(user.dateOfBirth).all((path, value) -> {
Iterator<? extends LocalDate> it = value.iterator();
return path.between(it.next(), it.next());
});
The key here is to use ?dateOfBirth=…&dateOfBirth=
(use the property twice) and the ….all(…)
binding which will give you access to all values provided.
Make sure you add the @DateTimeFormat
annotation to the dateOfBirth
-property of User
so that Spring is able to convert the incoming Strings
into LocalDate
instances correctly.
The lambda currently gets a Collection<? extends T>
which makes untangling the individual elements a bit more pain that it needs to be, but I think we can change this in a future release to rather expose a List
.