记一次HttpMessageNotReadableException Required request body is missing

本文记录了一次在本地启动Spring项目时遇到的HttpMessageNotReadableException异常,原因是IDEA环境编码(GBK)与项目编码(UTF-8)不一致,导致中文参数解析错误。通过设置IDEA编码并修改项目中处理请求参数的类中的编码配置为"UTF-8",成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

项目在测试环境,正式环境好好运行,因为开发需求,需要启动本地服务,但是前后端一交互,后端就报这个异常。

环境:

idea,jdk1.8,spring一套

资料:

https://blog.csdn.net/q1035331653/article/details/80370818

 

解决:

我的解决方案不在上面的资料提供的方案里,资料里的方案可能是有效的,但是此次这个问题并不是由于那些情况造成的。

此问题是由于项目编码导致。

项目编码为UTF-8,但是我的idea环境是GBK,所以,参数中包含中文的时候,就报错了。

设置编码,重新编译代码,重启项目,解决问题。

 


2021-01-29更新

上一版改完之后,问题的确是解决了一会,但是今天重启idea,重启项目之后,同样的问题又出现了

继续解决

项目里有这样一个类,是项目为了解决请求参数里的流只能用一次而采用的解决方案(当然,不是只有这一种用处啦~)

但是呢,刚开始设置的编码是为空的

所以debug到里面,看到默认编码是GBK

因此,在这两行代码处,加上"UTF-8"的编码就解决了问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值