mirror of
https://github.com/201206030/novel.git
synced 2025-04-27 07:30:50 +00:00
39 lines
1.5 KiB
Java
39 lines
1.5 KiB
Java
package xyz.zinglizingli.common.utils;
|
|
|
|
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
|
import org.springframework.http.converter.HttpMessageConverter;
|
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
import java.nio.charset.Charset;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
public class RestTemplateUtil {
|
|
|
|
private static Map<String,RestTemplate> restTemplateMap = new HashMap<>();
|
|
|
|
public static RestTemplate getInstance(Charset charset) {
|
|
RestTemplate restTemplate = restTemplateMap.get(charset.name());
|
|
if(restTemplate == null) {
|
|
|
|
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
|
|
httpRequestFactory.setConnectionRequestTimeout(3000);
|
|
httpRequestFactory.setConnectTimeout(3000);
|
|
httpRequestFactory.setReadTimeout(10000);
|
|
restTemplate = new RestTemplate(httpRequestFactory);
|
|
List<HttpMessageConverter<?>> list = restTemplate.getMessageConverters();
|
|
for (HttpMessageConverter<?> httpMessageConverter : list) {
|
|
if (httpMessageConverter instanceof StringHttpMessageConverter) {
|
|
((StringHttpMessageConverter) httpMessageConverter).setDefaultCharset(charset);
|
|
break;
|
|
}
|
|
}
|
|
restTemplateMap.put(charset.name(),restTemplate);
|
|
}
|
|
return restTemplate;
|
|
}
|
|
|
|
}
|