QueryDSL Spring data web support with java.util.Date



我正在尝试使用QueryDSL Spring数据Web支持,根据作为请求参数传递的Date的值来过滤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) {
...
}

但显然它无法解析日期,因为它不再有关于 Date 字符串模式的任何信息。有没有办法让这个QueryDSL Web支持使用Date对象?

尝试将@DateTimeFormat添加到实体字段:

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;

相关内容

最新更新