【问题标题】:Spring MVC controller with date带日期的 Spring MVC 控制器
【发布时间】:2013-05-26 15:41:39
【问题描述】:

我一直在尝试使用:

@RequestMapping(value="/consultaporusuarioperiodo/{idusuario}/{datainicio}/{datafim}", method = RequestMethod.GET)
public String consultaPorPeriodoUsuario(
        @PathVariable("idusuario") Long idUsuario,
        @PathVariable("datainicio") Date dataInicio,
        @PathVariable("datafim") Date dataFim
        ,Model model) {
    Usuario usuario = usuarioService.buscaPorId(idUsuario);
    model.addAttribute("timesheet",timeSheetService.buscaPorPeriodoPorUsuario(dataInicio, dataFim,usuario));
    return "timesheetcrud/consultatimesheet";
}

通过此链接:

http://localhost:8080/timesheet/consultaporusuarioperiodo/1/21012000/22012000

但我收到此错误:

HTTP Status 400 -

type Status report

message

description The request sent by the client was syntactically incorrect ().

Apache Tomcat/7.0.27

当我更改为:

        @PathVariable("datainicio") String dataInicio,
        @PathVariable("datafim") String dataFim

这是工作。我可以做些什么来使用 Date ?

谢谢

【问题讨论】:

  • 尝试用@DateTimeFormat(pattern = "ddMMyyyy")注释你的日期参数
  • 我已经尝试过使用@DateTimeFormat 但是当我把@PathVariable("datainicio") @DateTimeFormat(pattern = "ddMMyyyy") 日期dataInicio,它也不起作用:-( 只适用于字符串.
  • 提示:尝试使用最佳实践并在请求正文或查询参数中传递这两个日期值。 apigee.com/about/api-best-practices =)
  • 将答案标记为正确以帮助社区:) 也是stackoverflow.com/questions/15164864/…的副本

标签: java spring spring-mvc


【解决方案1】:

在 Spring 的精神中,最好的选择应该是一个约定,以统一处理 Date 参数的方式。幸运的是,它给了你这个小 cookie - 把它放在 application.properties 中...... Bob 是你的叔叔:

spring.mvc.date-format=ddMMyyyy

【讨论】:

    【解决方案2】:

    我不得不做一些非常相似的事情。这就是我所做的:

    @PathVariable("datainicio") @DateTimeFormat(pattern = "ddMMyyyy") Date dataInicio
    

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      试试:

          @PathVariable("datainicio") @DateTimeFormat(iso=ISO.DATE) String dataInicio,
          @PathVariable("datafim") @DateTimeFormat(iso=ISO.DATE) String dataFim
      

      其中ISO.DATEyyyy-mm-dd 模式。

      【讨论】:

        猜你喜欢
        • 2020-10-13
        • 2013-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-01
        • 2016-09-15
        • 1970-01-01
        • 2016-02-20
        相关资源
        最近更新 更多