JAVA RestTemplate — Строка ответа неправильно отображается, если кодировка ответа UTF-16

#java #utf-16 #spring-resttemplate

Вопрос:

Я попытался использовать RestTemplate для использования api REST. Ответ не анализируется и не отображается в случае, если в ответе используется кодировка utf-16. Я пробовал разные варианты, но не получил ответа. Пожалуйста, найдите заголовки ответов и строку ответа.

Заголовки ответов {Date=[Sat, 30 Oct 2021 17:24:03 GMT], Content-Type=[application/json; charset=utf-16], Transfer-Encoding=[chunked], Connection=[keep-alive], Access-Control-Expose-Headers=[], Access-Control-Allow-Origin=[*], Access-Control-Allow-Methods=[POST], Access-Control-Allow-Headers=[authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,apikey,testKey,Authorization], CF-Cache-Status=[DYNAMIC], Expect-CT=[max-age=604800, report-uri=""], Server=[cloudflare]}

Строка Ответа : ????????????????????????????????????????????????????????????????????

Код :

 restTemplate = new RestTemplate();  StringHttpMessageConverter msgConv = new   StringHttpMessageConverter(Charset.forName("UTF-8"));  restTemplate.getMessageConverters().add(0, msgConv);  System.out.println("CONV "   msgConv.getDefaultCharset());  HttpHeaders httpHeaders = new HttpHeaders();  //httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));  httpHeaders.setContentType(MediaType.APPLICATION_JSON);  httpHeaders.set("Accept", MediaType.APPLICATION_JSON_VALUE);  for (Entrylt;String, Stringgt; headerEntry : headers.entrySet()) {  httpHeaders.add(headerEntry.getKey(), headerEntry.getValue());  } ResponseEntitylt;Stringgt; postResultBody = restTemplate.exchange(prepareUrl(path), method, httpEntity, String.class, parameters);