前端报错
后台报错代码
Field error in object 'ckin' on field 'indate': rejected value [2019-04-27]; codes [typeMismatch.ckin.indate,typeMismatch.indate,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [ckin.indate,indate]; arguments []; default message [indate]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'indate'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2019-04-27'; nested exception is java.lang.IllegalArgumentException]
- (26940 ms) - 2022-3-24 13:36:26[DEBUG](DispatcherServlet.java:1048) Null ModelAndView returned to DispatcherServlet with name 'SpringMVC': assuming HandlerAdapter completed request handling
- (26940 ms) - 2022-3-24 13:36:26[DEBUG](FrameworkServlet.java:1000) Successfully completed request
在其中发现Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'indate';问题
原因因为前端传到后台的是字符串,而Java类属性的Date日期类型,此时需要@DateTimeFormat注解即可,但是注意用法:
①如果前端传过来是年月日,则注解下面这么用
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;
②如果前端传过来是年月日 时分秒,则注解下面这么用
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date date;