0

私は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;

各メンバー変数で注釈を付ける代わりに、すべてのプロジェクトに適用されるスプリングブートを一度に伝える方法はありますか?

4

1 に答える 1

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));
    }
}

それ以外の場合は、独自のObjectMapperBean を提供し、作成時に構成するだけです。

于 2019-05-16T08:24:50.300 に答える