記一次@JsonFormat註解引起的400錯誤的解決過程(關於前後端數據格式導致的錯誤)

先說問題:在前端通過post傳輸一個實體類到後臺,後臺通過@RequestBody來接受前端傳過來的實體類。實體類中有幾個時間類型的屬性有@JsonFormat的註解。點擊提交後報400錯誤。

400錯誤,最大機率是出現了數據類型不一致的問題,簡單來說是Controller層不用正確讀取你發送請求附帶的參數。

針對這個400錯誤,我首先以爲是我後端的實體類和前端的傳入的實體類參數有差異,查找之後並沒有區別。然後我把後端的實體類換成map,可以正常接收。定位問題在實體類中,實體類跟map區別,現在只在@JsonFormat註解上有差異,看了前後端的時間類,前端用的vue+element-ui的時間組件,設置的時間格式是yyyy-MM-dd HH:mm 後端@JsonFormat註解的是yyyy-MM-dd HH:mm:ss 時間格式不一樣,導致後端接收不到前端傳的值,把時間格式改成一樣就可以了。

出現這個問題一個是不明白@JsonFormat註解在何時起作用,一個是不知道前後端傳值的底層機制,之後需要了解一下這塊知識,在遇到問題就能很好解決了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章