1. 程式人生 > >JsonFormat時間解析不準確問題

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陣列。

檢視這時讀取的請求報文,時間也是正常的,帶時分秒

繼續深入,發現罪魁禍首:

JavaDateJsonDeserializer是啥玩意,公司自己的component元件帶的,把原生的Deserializer替換了

deserializers.put(java.util.Date.class, new JavaDateJsonDeserializer());

不掃描這個初始化類,解決。

excludeFilters = {@ComponentScan.Filter(type= FilterType.ASSIGNABLE_TYPE,value = RequestParamConfig.class)}

然後就會用jackson原生的com.fasterxml.jackson.databind.deser.std.DateDeserializers解析了:


相關推薦

JsonFormat時間解析準確問題

今天遇到一個比較奇葩的問題。我請求報文的時間是字串"2018-06-25 17:57:54"到了controller用@RequestBody解析後時間變成了Mon Jun 25 00:00:00 CST 2018時分秒被狗吃了!而我的JsonFormat也指定了時分秒,按理

Kylin增量cube build的restAPI的時間準確的BUG

Kylin1.6增量cube build的restAPI的時間不準確的bug: 描述:使用restAPI:curl -X PUT -u "ADMIN:KYLIN" -H "Content-Type:application/json;charset=utf-8" -d '{"

h5頁面切換到後臺再返回 js 定時器時間準確解決方法

這兩天做迭代任務遇到了一個難題,現在找到了解決方法,為了避免忘記,在這裡記錄下來。 專案描述:一個基於vue寫的 h5頁面,根據後端返回的當前伺服器時間做一個倒計時(我是用setInterval 做的)。該h5頁面分別巢狀到微信公眾號、和原生app中。 ---------

Whatsapp用了,顯示手機當時時間準確。怎麼調整

如圖,很多用WhatsApp的朋友遇到這個問題~ 解決方法及原因: Whatsapp版本不對,需要更新到最新版,谷歌商城下載 現在國內也用不了WhatsApp 被遮蔽了,需要用梯子 我用的是i7加速器,,然後要他們客服傳我的最新版本

Android之Gson時間格式一致導致後臺解析錯誤問題

採用Gson封裝Json資料與後臺進行互動,Android端與後臺介面通常對資料中的Date格式需要做統一處理,這樣就能保證Gson正常解析。但在不同的jdk版本的環境中,這樣處理也不能百分百保證沒有

使用HAL的RTC庫出現年、小時準確的問題

小問題 慢慢 () 獲取 成員變量 描述 研究 time() 出現 HAL使用的太匆忙,遇見的小問題先記錄一下,再慢慢研究 問題描述:獲取到的日期,年和小時是錯誤的,月、日、時、分是正確的 解決辦法:weekDay、DayLightSaving、StoreOperation

解答VS2013編譯報錯準確是什麽原因

發現 temp 過去 清除 明顯 控制 問題 one framework 1、當程序在錯誤時,VS2013編譯報出的錯誤有時不會一起全部報出,而是按錯誤的英文首字母逐個報出的 2、如果報錯的信息雙擊點過去查看時又發現無明顯錯誤問題時,這個這個時候可以是VS編譯的緩存問題,

剛找到工作的前端愛好者,其實這麽說也準確

學點什麽 月光族 愛好者 快捷鍵 深圳 我是剛找到工作的前端愛好者,其實這麽說也不準確,應該說是愛錢者,都知道最近幾年前端比較火爆,我也是聽安卓開發的朋友說,學前端比較好,技術簡單,代碼量少,薪資待遇還很高,畢竟他是處在開發的道路上,我還是沒有世面的黃毛丫頭,於是就聽了他的話2016年10

asp.net站點時間格式與系統時間格式一致。手動修改

images 開始 iis 時間格式 重啟 .com short 技術分享 control asp.net站點時間格式與系統時間格式不匹配時,當修改系統時間格式,站點時間可能還是舊的格式。則可通過修改註冊表更新時間格式。1.開始-運行-輸入regedit,依次找到HKEY-

關於倒計時在關屏後準確的問題

很好 關於 開始 考試 當前 分鐘 功能 調用接口 好的 問題描述:   在寫一個考試系統,其中用到了倒計時的功能,發現在鎖屏後,倒計時不準確的問題 解決方法:   1.因為是考試系統,所以考試時間是一定的,我們的考試時間是90分鐘   2.在進入考試頁面時首先獲取當前時間

Nginx服務器導致CSS無法解析起效果

nginx服務 類型 無法 html types .com PE clu 圖片 最近部署一個項目html,js正常加載,css也沒有報404,css能夠正常獲取,只是瀏覽器無法解析,研究了一下發現,原來是配置Nginx的時候將/etc/nginx/nginx.conf的一行

k8s訪問服務時,解析了域名

exe https .com docke nbsp k8s 地址 html com 1)訪問 http://eureka-server-0.eureka-server:8101/eureka 出現UnknowHostExecption異常 2)問題定位ku

Android 關於 CountDownTimer onTick() 倒計時準確問題源碼分析

一次 span 得出 mapi str num too 思路 -h 一、問題 CountDownTimer 使用比較簡單,設置 5 秒的倒計時,間隔為 1 秒。 final String TAG = "CountDownTimer"; new CountDownTim

Python筆記27----時間解析

str .com 分享圖片 href www 元組 port struct width 1、將時間字符串解析成真正的時間 time.strptime http://www.runoob.com/python/att-time-strptime.html 代碼: im

設定session失效時間使用框架)----使用shiro設定session失效時間(使用shiro框架)

Java設定session失效的時間(不使用框架) 在一般系統登入後,都會設定一個當前session失效的時間,以確保在使用者長時間不與伺服器互動,自動退出登入,銷燬session 具體設定的方法有三種: 1.在web容器中設定(以tomcat為例) 在tomcat-7.0\c

@JsonFormat時間格式化註解使用

@JsonFormat時間格式化註解使用 Javaweb 太平洋學習網 2017-12-01 1013瀏覽 評論 <div class="banner banne

霍夫圓 定位準確的問題 粗定位

對虹膜進行Canny邊緣檢測後,然後把得到的影象進行霍夫圓檢測,就發現了這樣的問題!定位不精確,然後我還沒有解決,先寫下這個問題,日後解決! 如下圖: 這裡定位了很多的圓! 有時候把原影象輸入後,霍夫圓根本檢測不出來有圓…很尷尬啊! 解決方案如下: 剛才自己試了一些別的方法,發現

關於使用springboot專案解析了jsp頁面的問題分析

使用springboot框架建立專案做一個增刪改查的練習,發現訪問jsp頁面未能解析,如下圖: 查詢資料發現pom檔案少引用了jar包,如下: <dependency> <groupId>org.apache.tomcat.embed</group

如果javaapi長時間消費到資料

如果javaapi長時間消費不到資料,需要在kafka叢集中的server.properties配置如下程式碼: # Hostname the broker will advertise to producers and consumers. If not set, i$ # value for "host

Hbase PageFilter 取出數量準確問題

  PageFilter pf = new PageFilter(pageFilterSize); filterList.addFilter(pf); PageFilter:設定獲取的資料行數     PageFilter作用在reg