簡體   English   中英

如何在 YAML 文件中配置 WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS 用於 Spring Boot 中的 Jackson 反序列化?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM