JSON сериализатор с пружинной загрузкой - PullRequest
0 голосов
/ 16 мая 2019

У меня есть 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 Ответ

1 голос
/ 16 мая 2019

Попробуйте настроить 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 и настройте его при создании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...