HashMap<String,String>
содержит десятичное значение и должен рассматриваться как строка во время сериализации Джексона.Но мы получаем ошибку:
Error:
Caused by: java.lang.ClassCastException: java.math.BigDecimal incompatible with java.lang.String;Stack trace; at com.fasterxml.jackson.databind.ser.std.StringSerializer.serialize(StringSerializer.java:41);
Stack trace; at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFieldsUsing(MapSerializer.java:813);
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:637);
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33);
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119);
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79);
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18);
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:718);
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:639);
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33);
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480);
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:400);
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1392);
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:913);
Фрагмент кода:
@EnableWebMvc
@Configuration
public class OverrideJackson extends WebMvcConfigurerAdapter{
@Bean(name="objectMapper")
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(Feature.WRITE_BIGDECIMAL_AS_PLAIN, true);
mapper.configure(MapperFeature.DEFAULT_VIEW_INCLUSION, false);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper;
}
}