В проекте Spring-boot я пытаюсь передать в качестве параметра запроса объект Date и получаю эту ошибку:
Parameter value [1] did not match expected type [java.util.Date (n/a)]
Это отправляемый http-реквизит:
http://localhost:8080/moneyManager/customer/actionBetweenDates?startDate=2019/07/01&endDate=2019/07/30
Это функция, которая запускается в состоянии покоя:
@RequestMapping(path="actionBetweenDates", method=RequestMethod.GET)
public Collection<Action> getActionByDate(@RequestParam Date startDate, @RequestParam Date endDate){
return customerService.getAllActionBetweenDate(getSession().getId(), startDate, endDate);
}
Функция в состоянии покоя запускает функцию в обслуживании:
public Collection<Action> getAllActionBetweenDate(long customerId, Date startDate, Date endDate) {
Collection<MethodPayment> customerMethodPayments = methodPaymentRepository.findByCustomerId(customerId);
Collection<Action> customerActionByDates = new ArrayList<>();
for (MethodPayment mp : customerMethodPayments) {
customerActionByDates
.addAll(actionRepository.findByDateBetweenAndMethodPaymentId(mp.getId(), startDate, endDate));
}
return customerActionByDates;
}
Функция в службе запускает функцию врепозиторий:
Collection<Action> findByDateBetweenAndMethodPaymentId(long methodPaymentId, Date startDate, Date endDate);
Что я делаю не так?
Обновление:
Я нашел проблему.проблема была связана с функцией, найденной в actionRepository.Сигнатура функции сначала запрашивает две даты для сравнения между ними, а затем id и я дали ей противоположные значения.Для меня ясно, что после того, как я это сделаю, у меня возникнут проблемы с датой, поэтому ответы мне помогли.Спасибо всем!