首页 > 解决方案 > 如何将所需格式的值传递给@RequestParam 中的日期对象?

问题描述

我必须进行网络服务调用并在调用时发送许多属性。其中一个属性是birthDate,它是java.util.Date 类型。我希望birthDate 具有这种形式的值“1960-10-25T00:00:00”。

@GetMapping("/someSearch")
public PolicySearchResponseResource searchSomething(@RequestParam String firstName,
  @RequestParam String lastName, @RequestParam Date birthDate) {

//call web service here and send birthDate in this form 1960-10-25T00:00:00...
}

当我在请求参数中发送 1960-10-25T00:00:00 时,它没有收到它并抛出错误。仅接受“1960 年 10 月 25 日”这个表格。如何处理?

标签: javaspringspring-boot

解决方案


尝试这个:

@RequestParam(value="paramName") @DateTimeFormat(pattern="MMddyyyy") Date paramName

所以在你的情况下,它将是:

@GetMapping("/someSearch")
public PolicySearchResponseResource searchSomething(@RequestParam String firstName,
  @RequestParam String lastName, @RequestParam(value="birthDate") @DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss") Date birthDate) {

}

推荐阅读