天天看點

為啥你用@JsonFormat注解反序列化LocalDateTime總失敗?

點選上方藍色“冰河技術”,關注并選擇“設為星标”

持之以恒,貴在堅持,每天進步一點點!

為啥你用@JsonFormat注解反序列化LocalDateTime總失敗?

作者個人研發的在高并發場景下,提供的簡單、穩定、可擴充的延遲消息隊列架構,具有精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業提供了精準定時排程方案,經受住了生産環境的考驗。為使更多童鞋受益,現給出開源架構位址:

https://github.com/sunshinelyz/mykit-delay

PS: 歡迎各位Star源碼,也可以pr你牛逼哄哄的代碼。      

最近,有個小夥伴問我:我在SpringBoot項目中,使用@JsonFormat注解标注LocalDateTime類型的字段時,LocalDateTime反序列化失敗,這個我該怎麼處理呢?别急,我們一起來解決這個問題。

我們可以使用SpringBoot依賴中的@JsonFormat注解,将前端通過json傳上來的時間,通過@RequestBody自動綁定到Bean裡的LocalDateTime成員上。具體的綁定注解使用方法如下所示。

我使用Spring Boot 2.0.0 時,直接在字段上加上@JsonFormat 注解就可以完成資料的綁定。

而在使用Spring Boot 1.5.8時,隻在字段上加上@JsonFormat 注解,在資料綁定時無法将Date類型的資料自動轉化為字元串類型的資料。

1.将SpringBoot版本更新為2.0.0及以上。

2.如果不更新SpringBoot版本,可以按照下面的方式解決問題。

不更新SpringBoot版本,添加Jackson對Java Time的支援後,就能解決這個問題。

在pom.xml中添加:

添加JavaConfig,自動掃描新添加的子產品:

或者在application.properties添加如下配置:

或者隻注冊JavaTimeModule,添加下面的Bean

微信搜一搜【冰河技術】微信公衆号,關注這個有深度的程式員,每天閱讀超硬核技術幹貨,公衆号内回複【PDF】有我準備的一線大廠面試資料和我原創的超硬核PDF技術文檔,以及我為大家精心準備的多套履歷模闆(不斷更新中),希望大家都能找到心儀的工作,學習是一條時而郁郁寡歡,時而開懷大笑的路,加油。如果你通過努力成功進入到了心儀的公司,一定不要懈怠放松,職場成長和新技術學習一樣,不進則退。如果有幸我們江湖再見!

另外,我開源的各個PDF,後續我都會持續更新和維護,感謝大家長期以來對冰河的支援!!

IT技術分享社群

個人部落格網站:https://programmerblog.xyz

為啥你用@JsonFormat注解反序列化LocalDateTime總失敗?

文章推薦程式員效率:畫流程圖常用的工具程式員效率:整理常用的線上筆記軟體遠端辦公:常用的遠端協助軟體,你都知道嗎?51單片機程式下載下傳、ISP及序列槽基礎知識硬體:斷路器、接觸器、繼電器基礎知識

繼續閱讀