解决springboot序列化json数据到前端中⽂乱码问题
前⾔
关于springboot乱码的问题,之前有⽂章已经介绍过了,这⼀篇算是作为补充,重点解决对象在序列化过程中出现的中⽂乱码的问题,以及后台报500的错误。spring是什么意思啊中文
问题描述
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) {
//解决中⽂乱码
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) {
//解决中⽂乱码
converters.add(responseBodyConverter());
//解决添加解决中⽂乱码后上述配置之后,返回json数据直接报错 500:no convertter for return value of type        converters.add(messageConverter());
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。