前言

springboot有接口日期转换的经典问题,给Entity加@JsonFormat解决了输出json日期格式的输入输出问题,但是解决不了非@RequestBody/也就是普通表单提交的日期格式问题,这个时候就需要加@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

文章作为对 SpringBoot&fastjson中用@JSONFormat格式化日期格式/指定日期属性的格式 的补充。完善了springboot表单提交日期格式的问题。

报错信息

org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'eiEnterpriseEntity' on field 'reportTime': rejected value [2021-01-03]; codes [typeMismatch.eiEnterpriseEntity.reportTime,typeMismatch.reportTime,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [eiEnterpriseEntity.reportTime,reportTime]; arguments []; default message [reportTime]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'reportTime'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@com.fasterxml.jackson.annotation.JsonFormat java.util.Date] for value '2021-01-03'; nested exception is java.lang.IllegalArgumentException]at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:164)at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:127)at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at io.renren.common.xss.XssFilter.doFilter(XssFilter.java:31)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:96)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:41002)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.base/java.lang.Thread.run(Thread.java:834)

解决方案

 /*** 报告时间*/@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")@DateTimeFormat(pattern = "yyyy-MM-dd")private Date reportTime;/*** 更新时间*/@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date updateTime;

spring:Failed to convert property value of type ‘java.lang.String‘ to required type ‘java.util.Date‘相关推荐

  1. Failed to convert property value of type java.lang.String to required type java.lang.Integer for pro

    Failed to convert property value of type java.lang.String to required type java.lang.Integer for pro ...

  2. Failed to convert value of type 'java.lang.String' to required type 'java.util.Date

    异常原因:Controller层获取JSP页面请求参数是String类型,而在Controller层接收时使用Date类型,属于方法参数类型不匹配异常 警告: Failed to bind reque ...

  3. Cannot convert value of type ‘java.lang.String‘ to required type ‘java.util.Map‘ for property ‘param

    问题描述 若依中使用feign进行远程调用,在get请求中使用@SpringQueryMap映射对象时,映射对象的父类中带有Map<String, Object>类型的params属性时, ...

  4. Failed to convert value of type ‘java.lang.String‘ to required type ‘java.util.Date‘;

    在Java的controller中添加一个方法即可解决 /*** 解决:Failed to convert value of type 'java.lang.String' to required t ...

  5. 报错: Cannot convert value of type ‘java.lang.String‘ to required type

    报错: Cannot convert value of type 'java.lang.String' to required type Caused by: java.lang.IllegalSta ...

  6. Filed to convert property value of type ‘java.lang.String‘ to required type ‘java.util.Date‘ for XX

    添加注解: @DateTimeFormat:前端传值到后台接收准确的Date类属性 @JsonFormat:数据库到实体类的Date类型转换 @JsonFormat(pattern = "y ...

  7. 配置文件报错 Cannot convert value of type ‘java.lang.String‘ to required type ‘javax.sql.DataSource‘ for p

    问题 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean&qu ...

  8. Spring Boot 集成Kafka java.lang.String is in module java.base of loader ‘bootstrap‘;

    异常信息:java.lang.String is in module java.base of loader 'bootstrap'; com.htcyaifline.common.kafka.dom ...

  9. mybatis报错解决办法 :Result Maps collection does not contain value for java.lang.String

    错误 java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.S ...

最新文章

  1. 到底什么时候不应该使用机器学习?
  2. Silverlight:如何在程序中获取网站的根目录
  3. 新地王的诞生终将付出惨痛的代价?
  4. 一个实例带你搞懂Apriori关联分析算法
  5. Mapper XML Files详解
  6. python上传钉钉媒体文件_钉钉媒体文件上传
  7. 来自1976,Hinton写的第一篇论文火了:胶囊网络,是40年前的胶囊?
  8. 华硕网吧服务器型号,华硕服务器-Z10PA-D8 | 专业网吧维护
  9. 下列关于linux扩展名说法错误的是,全国计算机一级考试选择题集锦(2015年1月)
  10. 用通俗易懂的方式讲解: GBDT算法及案例(Python 代码)
  11. 扫雷游戏代码html,分享一个用h5制作的网页版扫雷游戏实例代码
  12. 移动混合开发框架+Android原生模块化/组件化
  13. ipa在线安装搭建_五大在线苹果企业签名平台评测:微导流居然打败了蒲公英
  14. python bmp转jpg
  15. 【Optimal Path】星门跳跃 链表+SPFA
  16. Python画四张子图-导入数据
  17. 奇奇怪怪的大佬:从职业赌徒到互联网大佬
  18. ubuntu系统构建VNC虚拟远程桌面
  19. Commitizen安装注意事项 git cz git: ‘cz‘ is not a git command
  20. 提供免费可商用的优秀背景视频素材——COVERR

热门文章

  1. 生成扩散模型漫谈:统一扩散模型(应用篇)
  2. 视频教程-Python爬虫视频课程:中国女性胸部大小分析-Python
  3. 生命游戏 Life of Game
  4. 模块“CHUSBDLL.DLL.dll“可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86或x64版本兼容 【已解决】
  5. 一、node.js的理解?优缺点?应用场景?
  6. 2020双非通信跨考江南大学软件工程专硕
  7. 详解Android Selinux 权限及问题
  8. Firefox使用wingate代理上网的问题
  9. Linux下开源库的使用(共享库文件头文件配置全局搜索)(WSL)
  10. 优矩互动IPO 市值38亿 域名保护怎么样