解决springboot序列化 json数据到前端中文乱码问题
前言
关于springboot乱码的问题,之前有文章已经介绍过了,这一篇算是作为补充,重点解决对象在序列化过程中出现的中文乱码的问题,以及后台报500的错误。
问题描述
spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson
spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for return value of type
注释掉解决中文乱码的问题之后返回对象json正常
解决中文乱码的配置
@Configuration
@EnableWebMvc
@ComponentScan
public
class
MvcConfiguration
extends
WebMvcConfigurerAdapter
{
@Bean
public
HttpMessageConverter
<
String
>
responseBodyConverter
(){
StringHttpMessageConverter
converter
=
new
StringHttpMessageConverter
(
Charset
.
forName
(
"UTF-8"
));
return
converter
;
}
@Override
public
void
configureMessageConverters
(
List
<
HttpMessageConverter
<?>>
converters
)
{
super
.
configureMessageConverters
(
converters
);
//解决中文乱码
converters
.
add
(
responseBodyConverter
());
//解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
converters
.
add
(
messageConverter
());
}
}
除了上述配置之后还有添加MappingJackson2HttpMessageConverter
@Bean
public
MappingJackson2HttpMessageConverter
messageConverter
()
{
MappingJackson2HttpMessageConverter
converter
=
new
MappingJackson2HttpMessageConverter
();
converter
.
setObjectMapper
(
getObjectMapper
());
return
converter
;
}
注意:responseBodyConverter和MappingJackson2HttpMessageConverter如果分开配置要确保前者不被覆盖,不然就会出现返回springboot返回json正常,但是返回中文乱码,或者返回中文不乱吗,但是返回对象或者json异常。
解决springboot范湖中文乱码和返回json 500错误的完整代码
/**
* spring boot 解决后台返回 json 到前台出现中文乱码的问题
*/
@Configuration
@EnableWebMvc
@ComponentScan
public
class
MvcConfiguration
extends
WebMvcConfigurerAdapter
{
@Bean
public
HttpMessageConverter
<
String
>
responseBodyConverter
(){
StringHttpMessageConverter
converter
=
new
StringHttpMessageConverter
(
Charset
.
forName
(
"UTF-8"
));
return
converter
;
}
@Bean
public
ObjectMapper
getObjectMapper
()
{
return
new
ObjectMapper
();
}
@Bean
public
MappingJackson2HttpMessageConverter
messageConverter
()
{
MappingJackson2HttpMessageConverter
converter
=
new
MappingJackson2HttpMessageConverter
();
converter
.
setObjectMapper
(
getObjectMapper
());
return
converter
;
}
@Override
public
void
configureMessageConverters
(
List
<
HttpMessageConverter
<?>>
converters
)
{
super
.
configureMessageConverters
(
converters
);
//解决中文乱码
converters
.
add
(
responseBodyConverter
());
//解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
converters
.
add
(
messageConverter
());
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了