Spring RestTemplate初始化

CODE:
//设置utf-8的messageConverter

@Configuration
public class RestTemplateInitializer {

    @Value("${restTemplate.connectTimeout}")
    private Integer connectionTimeout;
    @Value("${restTemplate.readTimeout}")
    private Integer readTimeout;

    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
        clientHttpRequestFactory.setConnectionRequestTimeout(connectionTimeout);
        clientHttpRequestFactory.setReadTimeout(readTimeout);
        RestTemplate template = new RestTemplate(clientHttpRequestFactory);

        List> converters = template.getMessageConverters();
        converters.add(new ByteArrayHttpMessageConverter());

        UTF8HttpMessageConverter utf8Converter = new UTF8HttpMessageConverter();
        List supportedMediaTypes = new ArrayList();
        supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        supportedMediaTypes.add(MediaType.TEXT_HTML);
        utf8Converter.setSupportedMediaTypes(supportedMediaTypes);
        converters.add(utf8Converter);

        FastJsonHttpMessageConverter fastJsonConverter = new FastJsonHttpMessageConverter();
        fastJsonConverter.setSupportedMediaTypes(supportedMediaTypes);
        fastJsonConverter.setFeatures(JsonUtils.features);
        converters.add(fastJsonConverter);

        template.setMessageConverters(converters);
        return template;
    }
}

你可能感兴趣的:(Spring)