springboot中使用resttemplate调用服务是设置header中的accept-charset

s使用restemplate调用其它服务时,请求中header中的accept-charset会默认带很多编码,影响效率

如图:

springboot中配置restTemplate

@Bean

RestTemplate restTemplate(){

  RestTemplate template = new RestTemplate ();

SimpleClientHttpRequestFactory factory = (SimpleClientHttpRequestFactory ) template.getRequestFactory();

factory.setConnectTimeout(3000);//连接超时时间

factory.setReadTimeout(10000);//响应超时时间

}

使用

StringHttpMessageConverter t = new StringHttpMessageConverter();

t.setWriteAcceptCharset(false);//设置为false就可以修改header中的accept-charset属性

resTemplate.getMessageConverTers().add(0,t);

HttpHeaders headers  = new HttpHeaders();

headers.setContentType(MediaType.APPLICATION_JSON);

headers.set(HttpHeaders.ACCEPT_CHARSET,StandardCharsets.UTF_8.toString());

HttpEntity<String> requestEntity = new HttpEntity<>(request, headers);

restTemplate.postForEntity(url,requestEntity,String.clss).getBody();

引用:

https://www.jianshu.com/p/d8463c5955fd

https://www.jianshu.com/p/deb5e5efb724
原文地址:https://www.cnblogs.com/youdream/p/9767729.html