ResponseEntity解码UTF-8

时间:2016-10-24 10:11:41

标签: java utf-8 spring-boot resttemplate

我如何在ResponseEntity中解码UTF-8(特别是当我得到Umlauts时)。我也试过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

1 个答案:

答案 0 :(得分:2)

  

应该是Müller,但我得到了M&amp; uuml; ler

这不是UTF-8问题。 &uuml;是HTML实体(实体列表的see here)。您应该转换HTML实体以响应获取所需的UTF-8字符串(请参阅this answer了解如何使用Apache Commons执行此操作)。