Веб-поддержка данных QueryDSL Spring с java.util.Date
Я пытаюсь использовать веб-поддержку данных QueryDSL Spring для фильтрации результатов запросов REST на основе значения даты, переданной в качестве параметра запроса.
В настоящее время я создаю сам предикат из даты, переданной в виде строки:
@GetRequest("/foos")
public List<Foo> getFoos(@RequestParam(name = "date", required = false)
@DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {
Predicate predicate = QFoo.date.eq(date);
...
}
Но я хочу сделать что-то вроде:
@GetRequest("/foos")
public List<Foo> getFoos(@QueryDslPredicate(root = Foo.class) Predicate predicate) {
...
}
Но очевидно, что он не может проанализировать дату, так как у него больше нет информации о шаблоне строки даты. Есть ли способ заставить эту веб-поддержку QueryDSL работать с объектами Date?
1 ответ
Решение
Попробуй добавить @DateTimeFormat
в поле сущности:
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;