1、目前的關于jackson的配置檔案 application.yml
application.yml
jackson:
date-format: yyyy-MM-dd HH:mm:ss
1.1 問題描述
資料庫查詢出來的時間為
接口傳回的資料
可以看出,接口傳回的資料和資料庫查詢出來的相差8個小時。這個時候考慮到時區。
1.2 問題解決
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
2. Jackson
推薦配置
Jackson
spring:
jackson:
# 設定屬性命名政策,對應jackson下PropertyNamingStrategy中的常量值,SNAKE_CASE-傳回的json駝峰式轉下劃線,json body下劃線傳到後端自動轉駝峰式
property-naming-strategy: SNAKE_CASE
# 全局設定@JsonFormat的格式pattern
date-format: yyyy-MM-dd HH:mm:ss
# 當地時區
locale: zh
# 設定全局時區
time-zone: GMT+8
# 常用,全局設定pojo或被@JsonInclude注解的屬性的序列化方式
default-property-inclusion: NON_NULL #不為空的屬性才會序列化,具體屬性可看JsonInclude.Include
# 正常預設,枚舉類SerializationFeature中的枚舉屬性為key,值為boolean設定jackson序列化特性,具體key請看SerializationFeature源碼
serialization:
WRITE_DATES_AS_TIMESTAMPS: true # 傳回的java.util.date轉換成timestamp
FAIL_ON_EMPTY_BEANS: true # 對象為空時是否報錯,預設true
# 枚舉類DeserializationFeature中的枚舉屬性為key,值為boolean設定jackson反序列化特性,具體key請看DeserializationFeature源碼
deserialization:
# 常用,json中含pojo不存在屬性時是否失敗報錯,預設true
FAIL_ON_UNKNOWN_PROPERTIES: false
# 枚舉類MapperFeature中的枚舉屬性為key,值為boolean設定jackson ObjectMapper特性
# ObjectMapper在jackson中負責json的讀寫、json與pojo的互轉、json tree的互轉,具體特性請看MapperFeature,正常預設即可
mapper:
# 使用getter取代setter探測屬性,如類中含getName()但不包含name屬性與setName(),傳輸的vo json格式模闆中依舊含name屬性
USE_GETTERS_AS_SETTERS: true #預設false
# 枚舉類JsonParser.Feature枚舉類中的枚舉屬性為key,值為boolean設定jackson JsonParser特性
# JsonParser在jackson中負責json内容的讀取,具體特性請看JsonParser.Feature,一般無需設定預設即可
parser:
ALLOW_SINGLE_QUOTES: true # 是否允許出現單引号,預設false
# 枚舉類JsonGenerator.Feature枚舉類中的枚舉屬性為key,值為boolean設定jackson JsonGenerator特性,一般無需設定預設即可
# JsonGenerator在jackson中負責編寫json内容,具體特性請看JsonGenerator.Feature