我正在尝试使用QueryDSL Spring数据网络支持来根据作为请求参数传递的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,因为它不再有关于Date字符串模式的任何信息。有没有办法让这个QueryDSL Web支持使用Date对象?
答案 0 :(得分:2)
尝试将@DateTimeFormat
添加到实体字段:
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;