Skip to content

Commit bb5c151

Browse files
filiphrsnicoll
authored andcommitted
Disable SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS by default
See gh-19352
1 parent 2171e7a commit bb5c151

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public class JacksonAutoConfiguration {
8888
static {
8989
Map<Object, Boolean> featureDefaults = new HashMap<>();
9090
featureDefaults.put(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
91+
featureDefaults.put(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, false);
9192
FEATURE_DEFAULTS = Collections.unmodifiableMap(featureDefaults);
9293
}
9394

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfigurationTests.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.IOException;
2020
import java.text.DateFormat;
2121
import java.text.SimpleDateFormat;
22+
import java.time.Duration;
2223
import java.util.Date;
2324
import java.util.HashSet;
2425
import java.util.Set;
@@ -378,6 +379,15 @@ void writeDatesAsTimestampsDefault() {
378379
});
379380
}
380381

382+
@Test
383+
void writeDurationAsTimestampsDefault() {
384+
this.contextRunner.run((context) -> {
385+
ObjectMapper mapper = context.getBean(ObjectMapper.class);
386+
Duration duration = Duration.ofHours(2);
387+
assertThat(mapper.writeValueAsString(duration)).isEqualTo("\"PT2H\"");
388+
});
389+
}
390+
381391
@Test
382392
void writeWithVisibility() {
383393
this.contextRunner

0 commit comments

Comments
 (0)