Веб-поддержка данных 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;
Другие вопросы по тегам