Spring restTemplate 序列化器

在微服务盛行的时代, json已经成为数据传输的主流格式,但是中途有很多api返回的json并不是很规范,例如json的key值大小写问题。

今天分享的是如何修改Spring restTemplate 的序列化器来达到兼容的目的。

import com.fasterxml.jackson.databind.MapperFeature;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;

@Configuration
public class WebConfig {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
RestTemplate restTemplate = restTemplateBuilder.build();
restTemplate.getMessageConverters()
.stream()
.filter(MappingJackson2HttpMessageConverter.class::isInstance)
.map(MappingJackson2HttpMessageConverter.class::cast)
.findFirst()
.map(MappingJackson2HttpMessageConverter::getObjectMapper)
.ifPresent(objectMapper ->
objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true));
return restTemplate;
}
}

  

posted on 2020-12-17 21:46  涤生-三省吾身  阅读(1525)  评论(0编辑  收藏  举报

导航