3 回答

TA貢獻1798條經(jīng)驗 獲得超3個贊
您可以將 ObjectMapper 配置為在應用程序中使用特定的日期格式:
jackson2ObjectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz"));

TA貢獻1811條經(jīng)驗 獲得超5個贊
你需要替換InstantSerializer杰克遜正在使用的東西。
@Configuration
public class JacksonConfig {
@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
return builder -> builder.serializers(new CustomInstantSerializer());
}
private static class CustomInstantSerializer extends InstantSerializer {
private static final DateTimeFormatter UTC_DATE_FORMAT = DateTimeFormatter
.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").withZone(ZoneOffset.UTC);
private CustomInstantSerializer() {
super(InstantSerializer.INSTANCE, null, UTC_DATE_FORMAT);
}
}
}
例如,您可以將JacksonConfig類放入項目的包中。config
另外,如果不起作用,請檢查 SpringBoot 是否真的可以找到它。在默認構(gòu)造函數(shù)中設置斷點InstantSerializer或在其中添加臨時日志記錄。

TA貢獻1966條經(jīng)驗 獲得超4個贊
您是否嘗試過像下面這樣注釋 validUntil 字段@JsonFormat。
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
@NotNull
@Column(nullable = false)
private Instant validUntil;
添加回答
舉報