Merge pull request #19352 from filiphr

* pr/19352:
  Disable SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS by default

Closes gh-19352
This commit is contained in:
Stephane Nicoll 2019-12-22 08:52:57 +01:00
commit 8c8ee324c9
2 changed files with 11 additions and 0 deletions

View File

@ -88,6 +88,7 @@ public class JacksonAutoConfiguration {
static {
Map<Object, Boolean> featureDefaults = new HashMap<>();
featureDefaults.put(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
featureDefaults.put(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, false);
FEATURE_DEFAULTS = Collections.unmodifiableMap(featureDefaults);
}

View File

@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.jackson;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@ -378,6 +379,15 @@ class JacksonAutoConfigurationTests {
});
}
@Test
void writeDurationAsTimestampsDefault() {
this.contextRunner.run((context) -> {
ObjectMapper mapper = context.getBean(ObjectMapper.class);
Duration duration = Duration.ofHours(2);
assertThat(mapper.writeValueAsString(duration)).isEqualTo("\"PT2H\"");
});
}
@Test
void writeWithVisibility() {
this.contextRunner