JSON сериализатор с пружинной загрузкой
У меня есть BigDecimalSerializer
public class BigDecimalSerializer extends JsonSerializer<BigDecimal> {
@Override
public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
gen.writeString(value.setScale(6, BigDecimal.ROUND_HALF_UP).toString());
}
}
а потом
@JsonSerialize(using = BigDecimalSerializer.class)
private BigDecimal foo;
Есть ли способ, чтобы вместо того, чтобы делать аннотации в каждой переменной-члене, я говорю весенней загрузке сразу, что относится ко всем проектам?
1 ответ
Попробуйте настроить ObjectMapper
добавив пользовательский модуль. Если вы используете spring-data-rest
это может выглядеть так:
@Configuration
public static class ObjectMapperConfigurer extends RepositoryRestConfigurerAdapter {
@Override
public void configureJacksonObjectMapper(final ObjectMapper objectMapper) {
SimpleModule myModule = new SimpleModule();
myModule.addSerializer(BigDecimal.class, BigDecimalSerializer.class);
objectMapper.registerModule(myModule));
}
}
В противном случае просто предоставьте свой собственный ObjectMapper
bean и настройте его при создании.