Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MVC GET@ModelAttribute java.util.Date类型和时间戳_Java_Spring_Spring Mvc - Fatal编程技术网

Spring MVC GET@ModelAttribute java.util.Date类型和时间戳

Spring MVC GET@ModelAttribute java.util.Date类型和时间戳,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个@RestController,看起来像这样: @RestController public class EventSearchController { @RequestMapping(value = "/api/eventSearch", method = RequestMethod.GET) public List<EventDTO> eventSearch(@Valid @ModelAtt

我有一个
@RestController
,看起来像这样:

@RestController
public class EventSearchController {

  @RequestMapping(value = "/api/eventSearch", method = RequestMethod.GET)
  public List<EventDTO> eventSearch(@Valid
                                    @ModelAttribute
                                    EventSearchCommand eventSearchCommand) {
    // ...
  }
}
@Data
public class EventSearchCommand {

  // other fields that are not a problem here...

  private Date startDate;

  private Date endDate;
}
这里的
@数据
来自。我遇到的问题是startDate和endDate参数作为

?endDate=1453784399000&startDate=1453698000000
未正确绑定,我收到以下错误:

无法将java.lang.String类型的属性值转换为必需的 键入java.util.Date作为属性endDate;嵌套异常是 org.springframework.core.convert.ConversionFailedException:未能 将java.lang.String类型转换为 @org.springframework.format.annotation.DateTimeFormat java.util.Date 价值为1453784399000;嵌套异常是 java.lang.IllegalArgumentException:无法分析1453784399000

我需要编写什么类型的转换器(或者更理想的是,问题字段上的@DateTimeFormat)才能使其正确绑定


我应该注意到,我有另一个完全相同的控制器设置,除了对象被注释为
@RequestBody
而不是
@modeldattribute
,并且请求体是一个JSON对象,其中日期作为整数而不是字符串传入。

好吧,我在一个软件项目中收到一些参数(来自一个GET请求),其中两个是时间戳。我只使用类似于:

public ModelAndView method(@ModelAttribute("it") Long it, @ModelAttribute("ft") Long ft /* some parameters that it doesn't matter here */) {
    java.util.Date initialDate = new java.util.Date(it); //create a java.util.Date from a long representing timestamp.
    // ...
}

我不知道我是否理解正确,但这样做,这段代码就可以适合您的代码。

我之前曾想过这样做,但不确定这是否是最“灵活”的方式。谢谢您的回答。