init
This commit is contained in:
73
src/main/java/com/senmesh/sdk/common/config/ApiConfig.java
Normal file
73
src/main/java/com/senmesh/sdk/common/config/ApiConfig.java
Normal file
@@ -0,0 +1,73 @@
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user