本文主要是介绍JsonFormat时间解析不准确问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天遇到一个比较奇葩的问题。
我请求报文的时间是字符串"2018-06-25 17:57:54"
到了controller用@RequestBody解析后时间变成了Mon Jun 25 00:00:00 CST 2018
时分秒被狗吃了!
而我的JsonFormat也指定了时分秒,按理说不会出现这样的问题。
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
于是我开始debug。
断点到:
org.springframework.web.servlet.mvc.method.annotation。AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters.196行时,
发现转换器genericConverter的实现类是:
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
确实是jackson解析的,所以用JsonFormat应该没问题。
在com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper.ensureLoaded方法开始读取请求的body到_inputBuffer数组。
查看这时读取的请求报文,时间也是正常的,带时分秒
这篇关于JsonFormat时间解析不准确问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!