[英]How to configure WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS in YAML file for Jackson deserialization in Spring Boot?
我從 javascript 應用程序收到一個時間戳作為數字,我的RestController
公開了一個帶有 bean 結構和ZonedDateTime
的端點來存儲這個值。
對 WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS 反序列化功能的InstantDeserializer
class 進行了檢查,即使我在 application.yml 中放入以下配置,該值也始終為真:
spring:
jackson:
deserialization:
WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS: false
有任何想法嗎?
我的 YAML 配置未讀取。 即使我將所有功能都設置為 false,我仍然在 InstantDeserializer 中將 context.isEnabled(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS) 測試設為 true:
spring:
jackson:
serialization:
WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS: false
READ_DATE_TIMESTAMPS_AS_NANOSECONDS: false
deserialization:
WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS: false
READ_DATE_TIMESTAMPS_AS_NANOSECONDS: false
那是SerializationFeature
而不是DeserializationFeature
之一,因此請嘗試以下操作:
spring:
jackson:
serialization:
write-date-timestamps-as-nanoseconds: false
檢查參考文檔。
(感謝@Arnaud 的提示)鑒於您似乎對反序列化感興趣,因此可能與檢查以下功能相關:
spring:
jackson:
deserialization:
read-date-timestamps-as-nanoseconds: false
您還可以使用配置文件對其進行配置:
@Configuration
public class JacksonConfiguration {
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper()
.disable(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS);
}
}
檢查參考文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.