Очень сложно ответить на ваш вопрос, не зная, каков ваш технический стек приложений.Если вы используете Java8, вы также можете использовать необязательные параметры запроса.Также попробуйте использовать производные запросы spring-data-jpa в репозиториях JPA, чтобы получить то, что вы хотите.
public List<resrvation> getAll(@RequestParam(name = "date1",required = false)) Optional<String> startDate,@RequestParam(name = "date2",required = false)) Optional<String> date2){
if(date1.isPresent() && date2.isPresent()) {
return reservationService.findAllBetweenStartDateAndEndDate( date1.get(),date2.get());
} else {
return reservationService.findAll();
}
}
И в репозиториях
List<Reservation> findAll();
List<Reservation> findByDateBetween(Date startDate, Date endDate);