ObjectMapper默认Number转换为Double解决方式

ObjectMapper默认Number转换为Double解决方式:

设置ObjectMapper的默认转换方式

ObjectMapper mapper = new ObjectMapper()mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);

所有配置代码:

@CompileStatic
@TypeChecked
@Configuration
class RestTemplateConfig {

    @LoadBalanced
    @Bean
    RestTemplate restTemplate() {
        RestTemplate restTemplate = new RestTemplate()
        List<HttpMessageConverter<?>> converterList = restTemplate.getMessageConverters()
        for (HttpMessageConverter<?> item : converterList) {
            if (item.getClass() == StringHttpMessageConverter.class) {
                item = new StringHttpMessageConverter(StandardCharsets.UTF_8)
            }
            if (item.getClass() == MappingJackson2HttpMessageConverter.class) {
                MappingJackson2HttpMessageConverter converter = item as MappingJackson2HttpMessageConverter
                def mapper = converter.getObjectMapper()
                mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS)
            }
        }
        return restTemplate
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。