|
40 | 40 | import com.fasterxml.jackson.databind.introspect.AnnotatedMethod;
|
41 | 41 | import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
|
42 | 42 | import com.fasterxml.jackson.databind.json.JsonMapper;
|
| 43 | +import com.fasterxml.jackson.databind.module.SimpleModule; |
43 | 44 | import com.fasterxml.jackson.databind.ser.BeanPropertyWriter;
|
44 | 45 | import com.fasterxml.jackson.databind.ser.BeanSerializerFactory;
|
45 | 46 | import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
|
46 | 47 | import com.fasterxml.jackson.databind.ser.PropertyWriter;
|
47 | 48 | import com.fasterxml.jackson.databind.ser.SerializerFactory;
|
48 | 49 | import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
|
49 | 50 | import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
|
| 51 | +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
50 | 52 | import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
51 | 53 | import org.apache.commons.logging.Log;
|
52 | 54 | import org.apache.commons.logging.LogFactory;
|
|
78 | 80 | import org.springframework.core.env.PropertySource;
|
79 | 81 | import org.springframework.util.ClassUtils;
|
80 | 82 | import org.springframework.util.StringUtils;
|
| 83 | +import org.springframework.util.unit.DataSize; |
81 | 84 |
|
82 | 85 | /**
|
83 | 86 | * {@link Endpoint @Endpoint} to expose application properties from
|
@@ -175,12 +178,12 @@ protected void configureJsonMapper(JsonMapper.Builder builder) {
|
175 | 178 | builder.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
|
176 | 179 | builder.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
|
177 | 180 | builder.configure(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, false);
|
178 |
| - JsonMapper.builder(); |
179 | 181 | builder.configure(MapperFeature.USE_STD_BEAN_NAMING, true);
|
180 | 182 | builder.serializationInclusion(Include.NON_NULL);
|
181 | 183 | applyConfigurationPropertiesFilter(builder);
|
182 | 184 | applySerializationModifier(builder);
|
183 | 185 | builder.addModule(new JavaTimeModule());
|
| 186 | + builder.addModule(new ConfigurationPropertiesModule()); |
184 | 187 | }
|
185 | 188 |
|
186 | 189 | private void applyConfigurationPropertiesFilter(JsonMapper.Builder builder) {
|
@@ -463,6 +466,17 @@ public void serializeAsField(Object pojo, JsonGenerator jgen, SerializerProvider
|
463 | 466 |
|
464 | 467 | }
|
465 | 468 |
|
| 469 | + /** |
| 470 | + * {@link SimpleModule} for configure the serializer. |
| 471 | + */ |
| 472 | + private static final class ConfigurationPropertiesModule extends SimpleModule { |
| 473 | + |
| 474 | + private ConfigurationPropertiesModule() { |
| 475 | + addSerializer(DataSize.class, ToStringSerializer.instance); |
| 476 | + } |
| 477 | + |
| 478 | + } |
| 479 | + |
466 | 480 | /**
|
467 | 481 | * {@link BeanSerializerModifier} to return only relevant configuration properties.
|
468 | 482 | */
|
|
0 commit comments