一 背景
由于从spring mvc升级到spring webflux 很多历史代码都是同步调用其他服务的,故不宜直接全部大改为Reactive的方式。
一 RestTemplate的配置
在Spring mvc项目中 请求接口查询其他服务的接口,都是不会出现中文乱码问题的。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
public class RestTemplateConfig {
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
// 设置超时
requestFactory.setConnectTimeout(5000);
requestFactory.setReadTimeout(60000);
// 利用复杂构造器可以实现超时设置,内部实际实现为 HttpClient
RestTemplate restTemplate = new RestTemplate(requestFactory);
return restTemplate;
}
}
三 解决方案
1 | import org.springframework.context.annotation.Bean; |