当前位置: 首页 > 知识库问答 >
问题:

RestTemplate编码问题

杨昆
2023-03-14

当从其中一个web服务获取数据时,引号(“)将显示为(?)当我使用Rest模板时。我在chrome上的postman中测试了web服务,并给出了正确的字符。我尝试编码UTF-8,但没有成功。

我检查了以下是从Web服务提供商编码:

高速缓存控制→私有连接→关闭内容编码→gzip内容长度→3407内容类型→text/xml; charset=ISO-8859-1日期→周三,2015 13:35:53GMT服务器→Google Search Applaine Vary→Accepe-Encode X-Frame-Options→SAMEORIGIN x-content ent-type-选项→nosiff x-xss-保护→1; Mode=block

下面是我的代码:

RestTemplate RestTemplate=新建RestTemplate();

    HttpHeaders headers = new HttpHeaders();
    MediaType mediaType = new MediaType("text", "xml", Charset.forName("ISO-8859-1"));

    headers.set("Accept", "text/xml; charset=ISO-8859-1");
    headers.setContentType(mediaType);
    headers.setAcceptCharset(Arrays.asList(Charset.forName("UTF-8")));
    headers.setAccept(Arrays.asList(mediaType));

    ResponseEntity<String> res = restTemplate.exchange(gsaSearchUrl, HttpMethod.GET, new HttpEntity<String>(headers), String.class);


    System.out.println(res.getBody());

共有1个答案

狄鸿禧
2023-03-14

您需要添加一个用于UTF-8编码字符串的HttpMessageConverder到您的RestTemboard。类似这样的东西会为您做:

    restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
 类似资料:
  • 我尝试使用springs RESTTemplate执行一个简单的rest调用: 其中endpointUrl变量包含类似service.host.com/api/service.php的内容 不幸的是,我的调用导致org.springframework.web.client.resourceAccessException:I/O错误:service.host.com%2fapi%2fservice.

  • 问题内容: 我尝试使用springs resttemplate做一个简单的rest调用: 其中endpointUrl变量包含诸如service.host.com/api/service.php之类的内容 不幸的是,我的呼叫导致org.springframework.web.client.ResourceAccessException:I / O错误:service.host.com%2Fapi%2

  • 问题内容: 我正在使用Java Spring Resttemplate通过get请求获取json。我正在获取的JSON代替了诸如üöä或ß之类的特殊字符。所以我猜字符编码有问题。我在互联网上找不到任何帮助。我现在使用的代码是: 问题答案: 您只需将添加到模板的消息转换器中:

  • 最近,我们正在将java构建作业从serverA迁移到serverB,java源代码(包含中文字符)在使用Ant的原始serverA上编译良好( ),但是,当我们将相同的代码签出到新的serverB并运行相同的Ant脚本时,出现了编码错误,如“用于编码GBK的Unmappable character”(Unmappable character for encoding GBK)。(JDK版本相同)

  • 我有一个(非常简单的)java Spring Boot/REST服务,它从输入中呈现PDF并使用IntelliJ对其进行测试。 我使用pdfbox作为创建此类pdf的工具。 一个特点是,除了它想要的常规内容外,客户端还可以将附件作为字节[]提供。 当用户尝试该服务时,最终文档只有附件部分的空白页。 使用IntelliJ和HTTP REST客户端进行了尝试,但遇到了相同的问题 当我注意到使用post

  • 我们的代码使用Asyncresttemplate如下所示