SpringBoot中,RestTemplate中文乱码解决方案

来源:互联网 发布:win 写的java导入到mac 编辑:程序博客网 时间:2024/06/06 03:36

1、new一个RestTemplate:

SimpleClientHttpRequestFactory httpRequestFactory = new SimpleClientHttpRequestFactory();httpRequestFactory.setReadTimeout(35000);httpRequestFactory.setConnectTimeout(5000);RestTemplate restTemplate = new RestTemplate(httpClientFactory);

2、重新设置restTemplate的messageConverters,否则用的默认的messageConverters。

List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();        messageConverters.add(new ByteArrayHttpMessageConverter());        /** 解决乱码的converter */        StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(Charset.forName                ("UTF-8"));        messageConverters.add(stringHttpMessageConverter);        messageConverters.add(new ResourceHttpMessageConverter());        messageConverters.add(new SourceHttpMessageConverter());        messageConverters.add(new AllEncompassingFormHttpMessageConverter());        RestTemplate restTemplate = new RestTemplate(httpClientFactory);        restTemplate.setMessageConverters(messageConverters);
原创粉丝点击