【问题标题】:QueryDSL Spring data web support with java.util.DateQueryDSL Spring 数据 web 支持与 java.util.Date
【发布时间】:2018-06-07 09:03:56
【问题描述】:

我正在尝试使用 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) {
     ...
}

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

【问题讨论】:

  • 你能展示你的 Foo 类吗? date 是 Foo 类中的一个字段吗?

标签: java spring spring-data querydsl


【解决方案1】:

尝试在实体字段中添加@DateTimeFormat

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

【讨论】:

  • 非常感谢!真的很简单!
  • 在我的例子中,控制器需要一个参数类型@QuerydslPredicate。它对我有用!
猜你喜欢
  • 2022-08-10
  • 2018-04-06
  • 2019-08-16
  • 2016-12-26
  • 2013-03-29
  • 2020-09-30
  • 2023-03-10
  • 2021-05-08
相关资源
最近更新 更多