|
41 | 41 | import com.fasterxml.jackson.databind.introspect.AnnotatedMethod;
|
42 | 42 | import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
|
43 | 43 | import com.fasterxml.jackson.databind.json.JsonMapper;
|
| 44 | +import com.fasterxml.jackson.databind.module.SimpleModule; |
44 | 45 | import com.fasterxml.jackson.databind.ser.BeanPropertyWriter;
|
45 | 46 | import com.fasterxml.jackson.databind.ser.BeanSerializerFactory;
|
46 | 47 | import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
|
47 | 48 | import com.fasterxml.jackson.databind.ser.PropertyWriter;
|
48 | 49 | import com.fasterxml.jackson.databind.ser.SerializerFactory;
|
49 | 50 | import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
|
50 | 51 | import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
|
| 52 | +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
51 | 53 | import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
52 | 54 | import org.apache.commons.logging.Log;
|
53 | 55 | import org.apache.commons.logging.LogFactory;
|
|
80 | 82 | import org.springframework.core.env.PropertySource;
|
81 | 83 | import org.springframework.util.ClassUtils;
|
82 | 84 | import org.springframework.util.StringUtils;
|
| 85 | +import org.springframework.util.unit.DataSize; |
83 | 86 |
|
84 | 87 | /**
|
85 | 88 | * {@link Endpoint @Endpoint} to expose application properties from
|
@@ -188,12 +191,12 @@ protected void configureJsonMapper(JsonMapper.Builder builder) {
|
188 | 191 | builder.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
|
189 | 192 | builder.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
|
190 | 193 | builder.configure(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS, false);
|
191 |
| - JsonMapper.builder(); |
192 | 194 | builder.configure(MapperFeature.USE_STD_BEAN_NAMING, true);
|
193 | 195 | builder.serializationInclusion(Include.NON_NULL);
|
194 | 196 | applyConfigurationPropertiesFilter(builder);
|
195 | 197 | applySerializationModifier(builder);
|
196 | 198 | builder.addModule(new JavaTimeModule());
|
| 199 | + builder.addModule(new ConfigurationPropertiesModule()); |
197 | 200 | }
|
198 | 201 |
|
199 | 202 | private void applyConfigurationPropertiesFilter(JsonMapper.Builder builder) {
|
@@ -474,6 +477,18 @@ public void serializeAsField(Object pojo, JsonGenerator jgen, SerializerProvider
|
474 | 477 |
|
475 | 478 | }
|
476 | 479 |
|
| 480 | + /** |
| 481 | + * {@link SimpleModule} for configure the serializer. |
| 482 | + */ |
| 483 | + private static final class ConfigurationPropertiesModule extends SimpleModule { |
| 484 | + |
| 485 | + private ConfigurationPropertiesModule() { |
| 486 | + super(); |
| 487 | + addSerializer(DataSize.class, ToStringSerializer.instance); |
| 488 | + } |
| 489 | + |
| 490 | + } |
| 491 | + |
477 | 492 | /**
|
478 | 493 | * {@link BeanSerializerModifier} to return only relevant configuration properties.
|
479 | 494 | */
|
|
0 commit comments