首页 > 其他分享 >RestTemplate返回结果乱码的两种解决方案

RestTemplate返回结果乱码的两种解决方案

时间:2024-05-06 16:15:05浏览次数:22  
标签:String 解决方案 RestTemplate 乱码 restTemplate new httpHeaders

以下代码调用某接口时出现乱码:

HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Content-Type","application/json;charset=utf-8");
org.springframework.http.HttpEntity<String> httpEntity = new org.springframework.http.HttpEntity<>(param,httpHeaders);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> forEntity = restTemplate.postForEntity(url,httpEntity,String.class);//此处三个参数分别是请求地址、请求体以及返回参数类型
String result = forEntity.getBody();

第一种解决方案:

从别的大神那里了解到,正是这行代码,把结果序列化为String类型,就会乱码。整改的方案就是把String换成实体类,因为转化为String和实体,内部使用的转换器不同,如下:

ResponseEntity<BaseResult> forEntity1 = restTemplate.postForEntity(url,httpEntity,BaseResult.class);
第二种解决方案: 清除原来的转换器,添加新的转换器
StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
stringHttpMessageConverter.setWriteAcceptCharset(false);
restTemplate.getMessageConverters().clear();
restTemplate.getMessageConverters().add(stringHttpMessageConverter);

  

 

标签:String,解决方案,RestTemplate,乱码,restTemplate,new,httpHeaders
From: https://www.cnblogs.com/shalen/p/18175176

相关文章

  • 电子合同一站式解决方案 | 京东云技术团队
    一:平台定位和优势(为什么建)1.1、平台定位由京东科技业务中台主导发起,联合法律部、安全部共建,旨在为业务提供电子合同管理的中台化能力,当前已形成一套成熟的“全线上、全生命周期电子合同管理系统”,可提供包括合同模板创建、模板预览、合同生成、合同预览、合同签署、合同记录查询......
  • EFCore 迁移异常解决方案
    添加迁移时显示错误:Bothrelationshipsbetween'WorkCenter.Factory'and'Factory'andbetween'WorkCenter'and'Factory.WorkCenters'coulduse{'FactoryId'}astheforeignkey.Toresolvethis,configuretheforeig......
  • pycharm安装dlib一直不成功解决方案
    直接在python的命令符窗口安装dlib会报ERROR:Couldnotbuildwheelsfordlib,whichisrequiredtoinstallpyproject.toml-basedprojects的错误,我试了很多网上的解决方案都没有成功,然后打算下载dlib的车轮文件,就成功了在下载文件之前要查看python版本所对应的dlib库 pip......
  • MySQL Connection not available问题解决方案
    在后端开发过程中,连接mysql数据库,过几个小时第一次使用会出现MySQLConnectionnotavailable报错这是因为MySql数据库存在一个连接池的回收时间,超过这个时间会导致资源无法正常释放,无法连接到MySql数据库1)在相关引用页面,进行定时刷新功能,这样尽管是同一个连接,但是相当于一个新......
  • java: 无效的目标发行版: 17 , 解决方案
    问题描述解决方案......
  • esxi内虚拟机开机卡死-解决方案
    查看正在运行的虚拟机esxclivmprocesslist获取所有注册的虚拟机vim-cmdvmsvc/getallvms重启,可以移除掉卡死的任务/etc/init.d/hostdrestart杀死虚拟机进程esxclivmprocesskill--type=[soft,hard,force]--world-id=WorldNumbersoft:执行正常关机,调用vmwaretools......
  • 基于CodeMirror开发在线编辑器时遇到的问题及解决方案
    需求:实现json在线编辑并支持校验,基于此使用了CodeMirror在线编辑,jsonlint校验输入数据//package.json:"dependencies":{"codemirror":"^5.53.2","core-js":"^3.8.3","jsonlint":"^1.6.3","vu......
  • 人机验证 reCaptcha 无法解锁 使用 Gooreplacer 的解决方案
    解决方案浏览器搜索并安装插件Gooreplacer(参考下方链接),新增设置:匹配模式google.com/recaptcha匹配类型通配符目标地址recaptcha.net/recaptcha如下图:并开启,刷新页面,即可。故障分析及解决思路常见的人机验证(reCaptcha)网址是google.com/recaptcha,而Google由于一些......
  • 在静态网络环境中快速修改网络配置信息的解决方案
    V1.02024年5月1日发布于博客园序言当网络配置设置为静态IP时,切换不同的位置意味着要不断的修改IP配置信息,每次修改都较为麻烦,在试过多种方案后,找到了“IPNetSetManPro”这款软件,可以实现网段设备的扫描和IP信息一键修改获取软件官网下载,个人使用免费WindowsIPFreeware......
  • 区块链和物联网解决方案实用指南(全)
    原文:zh.annas-archive.org/md5/9b82e4292467bac72ed9aef40681c09a译者:飞龙协议:CCBY-NC-SA4.0前言区块链和物联网(IoT)已被证明是目前最受欢迎的技术,并且只是开始应用它们的曲线。多家大公司的首要任务之一是整合区块链和物联网,其中一些公司已经开始在几个项目中使用其实施、......