| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.hz3r.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);
- }
- }
- }
|