ResponseEntity 解码 UTF-8

ResponseEntity decode UTF-8

我如何在 ResponseEntity 中解码 UTF-8(特别是当我得到变音符号时)。我也尝试使用 SpringHttpMessageConverter,但这不起作用。

RestTemplate restTemplate = new RestTemplate();
//this is not working only by POST
restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));

ResponseEntity<List<WebUser>> responseEntity = restTemplate.exchange(uriComponents.toUri(), HttpMethod.GET,
                        requestEntity, new ParameterizedTypeReference<List<WebUser>>() {
                        });

//responseEntity.getBody().get(0).getFirstName() should be Müller but I get M&uuml;ler

should be Müller but I get M&uuml;ler

这不是 UTF-8 问题。 &uuml; 是一个 HTML 实体(see here for the list of entities). You should unescape HTML entities in response to get UTF-8 strings that you want (see this answer 关于如何使用 Apache Commons 做到这一点)。