前端一般傳參時間類型到后台 一般用Date接收沒有問題,但是后台返回時間類型 前端一般需要轉換 這里可以避免該問題
然后這里就要用到一個東西:
@JsonFormat,它的作用是,出參時,自動把Date型對象數據轉化成正確的格式化后的字符串出去
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date eTime;//歸檔時間,也是歸檔的版本號
結論是:
1.前端如果傳來的是json數據,時間格式是正確的,那么@JsonFormat是可以正確將其轉換成Date類型的。
2.前端如果傳來的是json數據,時間格式是正確的,那么@DateTimeFormat是可以正確將其轉換成Date類型的。
3.但是,用json出參時用注解@DateTimeFormat似乎行不通,就是前面的問題,json返回Date對象時,java的序列化會把date變成一串數字,然后@dataTimeFormat似乎無法解決這個問題。
結論:
1.如果前后端傳的數據都是json,那么后台接數據,傳數據都可以用@JsonFormat。
2.@DateTimeFormat適合后端 接收 前端傳來的數據,不管是不是json都可以正確轉換成Date型數據,只要前端傳來的格式正確且后端@DateTimeFormat的pattern寫正確了,但是這個注解無法將Date型數據用json傳到后端去
