java使用RestTemplate转码utf-8发起httpt请求

RestTemplate转码utf-8

java使用RestTemplate转码utf-8发起httpt请求

 RestTemplate restTemplate = new RestTemplate();
        HttpHeaders httpHeaders = new HttpHeaders();
        //设置uft-8编码
        List<HttpMessageConverter<?>> messageConverters = restTemplate.getMessageConverters();
        for (int i = 0; i < messageConverters.size(); i++) {
            HttpMessageConverter<?> httpMessageConverter = messageConverters.get(i);
            if (httpMessageConverter.getClass().equals(StringHttpMessageConverter.class)) {
                messageConverters.set(i, new StringHttpMessageConverter(StandardCharsets.UTF_8));
            }
        }
        httpHeaders.setContentType(MediaType.APPLICATION_XML);
        HttpEntity<String> httpEntity = new HttpEntity<>(xml,httpHeaders);
        String res = restTemplate.postForObject(postResultUrl,httpEntity,String.class);

你可能感兴趣的:(java,java,开发语言)