spring boot項(xiàng)目使用@JsonFormat失效問(wèn)題的解決
使用@JsonFormat失效
在實(shí)體類(lèi)定義時(shí)間格式

原因:項(xiàng)目中配置了fastjson包
返回?cái)?shù)據(jù)使用的也是fastjson包
return JSON.toJSONString(user);
調(diào)整代碼使用jackson包進(jìn)行數(shù)據(jù)轉(zhuǎn)換后,顯示正常
ObjectMapper mapper = new ObjectMapper(); return mapper.writeValueAsString(user);
效果圖:

使用@JsonFormat注解踩過(guò)的坑
項(xiàng)目技術(shù)棧:Spring boot(2.1.6.RELEASE)+ JDK(1.8)+ Maven(apache-maven-3.5.4)+ Mybatis-plus(3.4.0)
最近在做一個(gè)項(xiàng)目系統(tǒng)時(shí),需要Java后端給前端頁(yè)面返回時(shí)間(要用本地時(shí)間--北京時(shí)間),后端時(shí)間字段映射,轉(zhuǎn)換,不管怎么處理都是按照北京時(shí)間來(lái)的,這個(gè)是正確的。但是只要一到前端顯示的時(shí)候,就會(huì)比北京時(shí)間少8個(gè)小時(shí)。檢查各個(gè)可能出錯(cuò)的地方之后,感覺(jué)代碼寫(xiě)的沒(méi)有問(wèn)題。但前端顯示還是少8個(gè)小時(shí),那肯定還是有問(wèn)題的,找吧。我的實(shí)體類(lèi)如下:請(qǐng)注意被紅框圈住的 timezone = "GMT + 8"。后面會(huì)用到哦。

錯(cuò)誤原因
這也是我的一個(gè)習(xí)慣導(dǎo)致的,被紅框圈住的 timezone = "GMT + 8" 中間的加號(hào)兩邊各有一個(gè)有空格,然后序列化的時(shí)候沒(méi)有被識(shí)別這個(gè)時(shí)區(qū)。所以就導(dǎo)致傳給前端顯示的時(shí)候少了8個(gè)小時(shí),具體的可以看下圖所示。

解決方案
知道問(wèn)題的原因之后,改這個(gè)問(wèn)題就易如反掌了,把中間的空格刪除即可。如下圖所示。

再次測(cè)試,搞定。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)從網(wǎng)絡(luò)下載多個(gè)文件
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)從網(wǎng)絡(luò)下載多個(gè)文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
Java實(shí)現(xiàn)NIO聊天室的示例代碼(群聊+私聊)
這篇文章主要介紹了Java實(shí)現(xiàn)NIO聊天室的示例代碼(群聊+私聊),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
詳解Java中的線(xiàn)程讓步y(tǒng)ield()與線(xiàn)程休眠sleep()方法
Java中的線(xiàn)程讓步會(huì)讓線(xiàn)程讓出優(yōu)先級(jí),而休眠則會(huì)讓線(xiàn)程進(jìn)入阻塞狀態(tài)等待被喚醒,這里我們對(duì)比線(xiàn)程等待的wait()方法,來(lái)詳解Java中的線(xiàn)程讓步y(tǒng)ield()與線(xiàn)程休眠sleep()方法2016-07-07
Java實(shí)現(xiàn)的微信公眾號(hào)獲取微信用戶(hù)信息示例
這篇文章主要介紹了Java實(shí)現(xiàn)的微信公眾號(hào)獲取微信用戶(hù)信息,結(jié)合實(shí)例形式分析了Java微信公眾號(hào)獲取微信用戶(hù)信息相關(guān)原理、步驟與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10
maven打包成第三方j(luò)ar包且把pom依賴(lài)包打入進(jìn)來(lái)的方法
這篇文章主要介紹了maven打包成第三方j(luò)ar包且把pom依賴(lài)包打入進(jìn)來(lái)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
使用Netty實(shí)現(xiàn)類(lèi)似Dubbo的遠(yuǎn)程接口調(diào)用的實(shí)現(xiàn)方法
本文介紹了如何使用Netty框架實(shí)現(xiàn)類(lèi)似Dubbo的遠(yuǎn)程接口調(diào)用,通過(guò)自定義編解碼器、通信協(xié)議和服務(wù)注冊(cè)中心等實(shí)現(xiàn)遠(yuǎn)程通信和服務(wù)治理。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-04-04
java開(kāi)發(fā)中使用IDEA活動(dòng)模板快速增加注釋的方法
這篇文章主要介紹了java開(kāi)發(fā)中使用IDEA活動(dòng)模板快速增加注釋,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
JVM內(nèi)存管理之JAVA語(yǔ)言的內(nèi)存管理詳解
下面小編就為大家?guī)?lái)一篇JVM內(nèi)存管理之JAVA語(yǔ)言的內(nèi)存管理詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08

