| package com.dy.pipIrrSell.config; | 
|   | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.context.annotation.Bean; | 
| import org.springframework.context.annotation.Configuration; | 
| import org.springframework.http.converter.HttpMessageConverter; | 
| import org.springframework.http.converter.StringHttpMessageConverter; | 
| import org.springframework.web.client.RestTemplate; | 
|   | 
| import java.nio.charset.StandardCharsets; | 
| import java.util.List; | 
|   | 
| /** | 
|  * @author ZhuBaoMin | 
|  * @date 2024-03-06 11:43 | 
|  * @LastEditTime 2024-03-06 11:43 | 
|  * @Description | 
|  */ | 
|   | 
| @Configuration | 
| public class RestTemplateConfig { | 
|     @Autowired | 
|     private RestTemplateWechatCertConfig restTemplateWechatCertConfig; | 
|   | 
|     @Bean() | 
|     public RestTemplate restTemplate() throws Exception { | 
|         RestTemplate restTemplate = new RestTemplate(restTemplateWechatCertConfig.wechatHttpRequestFactory()); | 
|         // 添加拦截器 | 
|         //List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>(); | 
|         //RestTemplateWechatCertConfig.MyRequestInterceptor myRequestInterceptor = new RestTemplateWechatCertConfig.MyRequestInterceptor(); | 
|         //interceptors.add(myRequestInterceptor); | 
|         //restTemplate.setInterceptors(interceptors); | 
|   | 
|         // 中文乱码,主要是 StringHttpMessageConverter的默认编码为ISO导致的 | 
|         List<HttpMessageConverter<?>> list = restTemplate.getMessageConverters(); | 
|         for (HttpMessageConverter converter : list) { | 
|             if (converter instanceof StringHttpMessageConverter) { | 
|                 ((StringHttpMessageConverter) converter).setDefaultCharset(StandardCharsets.UTF_8); | 
|                 break; | 
|             } | 
|         } | 
|   | 
|         return restTemplate; | 
|     } | 
|   | 
|     //简单RestTemplate实例 | 
|     @Bean | 
|     public RestTemplate simpleRestTemplate() { | 
|         return new RestTemplate(); | 
|     } | 
| } |