@JsonFormat和@DateTimeFormat

JsonFormatDateTimeFormat 是兩個不同的註解,它們用於不同的場景。

JsonFormat 是 Jackson 庫中的註解,它用於指定 Java 對象在序列化或反序列化爲/從 JSON 時的格式。

DateTimeFormat 是 Joda-Time 庫中的註解,它用於指定日期和時間字段的格式。

因此,如果你使用 Jackson 庫處理 JSON 數據,那麼你應該使用 JsonFormat 註解;如果你使用 Joda-Time 庫處理日期和時間,那麼你應該使用 DateTimeFormat 註解。

 

一般都是使用@DateTimeFormat把傳給後臺的時間字符串轉成Date,使用@JsonFormat把後臺傳出的Date轉成時間字符串,但是@DateTimeFormat只會在類似@RequestParam的請求參數上生效,如果@DateTimeFormat放到@RequestBody下是無效的。

在@RequestBody中則可以使用@JsonFormat把傳給後臺的時間字符串轉成Date,也就是說@JsonFormat其實既可以把傳給後臺的時間字符串轉成Date也可以把後臺傳出的Date轉成時間字符串。

前端get請求如下傳參,後端寫如下註解才能接收到參數,不如@JsonFormat方便

?date=2021-11-11 23:23:23
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")@RequestParam LocalDateTime date
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章