1. 程式人生 > 實用技巧 >Spring restTemplate 序列化器

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