我在 thymeleaf 上有一个表单,其中包含许多 type=date 输入。我需要在 PostMapping 上获取这些日期。有时它带有空值,编译器会给出错误
“方法参数类型Date需要请求参数‘date_smth’ 存在但转换为 null”
对于日期,我使用 Java.util.Date 现在我尝试在 RequestParam 中使用格式化程序
@RequestParam(“date_smth_form”) @DateTimeFormat(iso=DateTimeFormat.ISO.DATE) Date date_smth
在我的实体中,我没有为此日期列应用任何配置,只是:
Private Date date_smth
如果你想问我,为什么你需要格式化程序?我希望我的日期始终为 yyyy.MM.dd 格式,没有任何时间数据或 utc 数据,只有日期。
感谢大家(),使用 LocalDate 解决了我所有的问题,但还想补充一点,我在 @RequestParam 中的 @PostMapping 上使用 @Nullable 到我的 LocalDate 变量。以前,我不想使用 LocalDate,因为在我之前编写代码的人已经在所有存储库、所有实体、所有服务、所有控制器中的任何地方使用 Java.sql.Date。但我鼓起勇气,在 localDate 下重写了所有内容。 另外,对我来说,我需要在 @GetMapping 上将 LocalDate 值转换为 String,不知道是否可以,但它工作得很好。