74 lines
2.4 KiB
Java
74 lines
2.4 KiB
Java
package com.senmesh.sdk.common.config;
|
|
|
|
import java.util.List;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
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.json.MappingJackson2HttpMessageConverter;
|
|
import org.springframework.web.client.RestTemplate;
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
/**
|
|
* @author sr on 2020-04-16
|
|
*/
|
|
@Configuration
|
|
public class ApiConfig {
|
|
|
|
/**
|
|
* 读取超时
|
|
**/
|
|
public static final int READ_TIME_OUT = 60000;
|
|
/**
|
|
* 连接超时
|
|
**/
|
|
public static final int CONNECT_TIME_OUT = 60000;
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean
|
|
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
|
|
RestTemplate restTemplate = new RestTemplate(factory);
|
|
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
|
|
List<MediaType> mediaTypes = Lists.newArrayList(MediaType.APPLICATION_ATOM_XML,
|
|
MediaType.APPLICATION_FORM_URLENCODED,
|
|
MediaType.APPLICATION_JSON,
|
|
MediaType.APPLICATION_JSON_UTF8,
|
|
MediaType.APPLICATION_OCTET_STREAM,
|
|
MediaType.APPLICATION_PDF,
|
|
MediaType.APPLICATION_PROBLEM_JSON,
|
|
MediaType.APPLICATION_PROBLEM_JSON_UTF8,
|
|
MediaType.APPLICATION_PROBLEM_XML,
|
|
MediaType.APPLICATION_RSS_XML,
|
|
MediaType.APPLICATION_STREAM_JSON,
|
|
MediaType.APPLICATION_XHTML_XML,
|
|
MediaType.APPLICATION_XML,
|
|
MediaType.IMAGE_GIF,
|
|
MediaType.IMAGE_JPEG,
|
|
MediaType.IMAGE_PNG,
|
|
MediaType.MULTIPART_FORM_DATA,
|
|
MediaType.TEXT_EVENT_STREAM,
|
|
MediaType.TEXT_HTML,
|
|
MediaType.TEXT_MARKDOWN,
|
|
MediaType.TEXT_PLAIN,
|
|
MediaType.TEXT_XML);
|
|
converter.setSupportedMediaTypes(mediaTypes);
|
|
restTemplate.getMessageConverters().add(converter);
|
|
return restTemplate;
|
|
}
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean
|
|
public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
|
|
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
|
|
// 单位为ms
|
|
factory.setReadTimeout(READ_TIME_OUT);
|
|
factory.setConnectTimeout(CONNECT_TIME_OUT);
|
|
return factory;
|
|
}
|
|
|
|
}
|