package com.zbkj.admin.config;
|
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.http.MediaType;
|
import org.springframework.http.client.ClientHttpRequestFactory;
|
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.nio.charset.StandardCharsets;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* RestTemplate配置组件
|
*/
|
@Configuration
|
public class RestTemplateConfig {
|
@Bean
|
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
|
RestTemplate restTemplate = new RestTemplate(factory);
|
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
restTemplate.getMessageConverters().add(new WxMappingJackson2HttpMessageConverter());
|
return restTemplate;
|
}
|
|
@Bean
|
public ClientHttpRequestFactory httpRequestFactory() {
|
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
|
factory.setReadTimeout(10000);//ms
|
factory.setConnectTimeout(15000);//ms
|
return factory;
|
}
|
|
//解决微信返回json Content-Type 值却是 text/plain 的问题
|
public class WxMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
|
public WxMappingJackson2HttpMessageConverter(){
|
List<MediaType> mediaTypes = new ArrayList<>();
|
mediaTypes.add(MediaType.TEXT_PLAIN);
|
mediaTypes.add(MediaType.TEXT_HTML);
|
setSupportedMediaTypes(mediaTypes);
|
}
|
}
|
}
|