如何在Spring Boot中全局配置“@DateTimeFormat”模式?
Im 我的 Spring Boot 应用程序,我有一些控制器接受日期作为查询参数:
@RestController
public class MyController {
@GetMapping
public ResponseEntity<?> getDataByDate(
@RequestParam(value = "date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
final LocalDate date) {
return ResponseEntity.ok();
}
}
这很有效,我甚至可以使用将参数标记为可选,然后使用.Spring 将处理所有这些,并在缺少参数时传递空的 Optional。@RequestParam(value = "date", required = false)
Optional<LocalDate>
由于我有多个使用日期作为查询参数的控制器,因此我想为所有查询参数配置此行为。我已经尝试了这家酒店,但它似乎只适用于.LocalDate
spring.mvc.date-pattern
java.util.Date
因此,在搜索网络之后,我想出的最好的是我从这个答案中采用的。这个解决方案的问题是,那就是无法再处理了。感觉这是在Spring Boot中配置行为的错误方法。ControllerAdvice
Optional<LocalDate>
所以我的问题是:如何在Spring Boot中以惯用方式全局配置用作查询参数的模式?LocalDate