3 回答
TA贡献1798条经验 获得超3个赞
您可以将 ObjectMapper 配置为在应用程序中使用特定的日期格式:
jackson2ObjectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz"));
TA贡献1811条经验 获得超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 是否真的可以找到它。在默认构造函数中设置断点InstantSerializer或在其中添加临时日志记录。
TA贡献1966条经验 获得超4个赞
您是否尝试过像下面这样注释 validUntil 字段@JsonFormat。
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
@NotNull
@Column(nullable = false)
private Instant validUntil;
添加回答
举报