pring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type

问题描述
  • spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson
  • spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for return value of type
  • 注释掉解决中文乱码的问题之后返回对象json正常
解决中文乱码的配置
 
  1. @Configuration
  2. @EnableWebMvc
  3. @ComponentScan
  4. public class MvcConfiguration extends WebMvcConfigurerAdapter {
  5. @Bean
  6. public HttpMessageConverter<String> responseBodyConverter(){
  7. StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  8. return converter;
  9. }
  10. @Override
  11. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  12. super.configureMessageConverters(converters);
  13. //解决中文乱码
  14. converters.add(responseBodyConverter());
  15. //解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
  16. converters.add(messageConverter());
  17. }
  18. }
除了上述配置之后还有添加MappingJackson2HttpMessageConverter
 
  1. @Bean
  2. public MappingJackson2HttpMessageConverter messageConverter() {
  3. MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  4. converter.setObjectMapper(getObjectMapper());
  5. return converter;
  6. }

注意:responseBodyConverter和MappingJackson2HttpMessageConverter如果分开配置要确保前者不被覆盖,不然就会出现返回springboot返回json正常,但是返回中文乱码,或者返回中文不乱吗,但是返回对象或者json异常。

解决springboot范湖中文乱码和返回json 500错误的完整代码
 
  1. /**
  2. * spring boot 解决后台返回 json 到前台出现中文乱码的问题
  3. * 在线助手博客 http://www.it399.com/blog/index.jsp
  4. */
  5. @Configuration
  6. @EnableWebMvc
  7. @ComponentScan
  8. public class MvcConfiguration extends WebMvcConfigurerAdapter {
  9. @Bean
  10. public HttpMessageConverter<String> responseBodyConverter(){
  11. StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
  12. return converter;
  13. }
  14. @Bean
  15. public ObjectMapper getObjectMapper() {
  16. return new ObjectMapper();
  17. }
  18. @Bean
  19. public MappingJackson2HttpMessageConverter messageConverter() {
  20. MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  21. converter.setObjectMapper(getObjectMapper());
  22. return converter;
  23. }
  24. @Override
  25. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  26. super.configureMessageConverters(converters);
  27. //解决中文乱码
  28. converters.add(responseBodyConverter());
  29. //解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
  30. converters.add(messageConverter());
  31. }
  32. }

http://www.it399.com/blog/web/201805081017

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值