架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 926|回复: 0

[资料] spring boot 解决后台返回 json 到No converter found for return...

[复制链接]
发表于 2019-4-1 13:09:38 | 显示全部楼层
zu
问题描述

  • 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. @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.     @Bean
  11.     public ObjectMapper getObjectMapper() {
  12.         return new ObjectMapper();
  13.     }
  14.     @Bean
  15.     public MappingJackson2HttpMessageConverter messageConverter() {
  16.         MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
  17.         converter.setObjectMapper(getObjectMapper());
  18.         return converter;
  19.     }
  20.     @Override
  21.     public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  22.         super.configureMessageConverters(converters);
  23.         //解决中文乱码
  24.         converters.add(responseBodyConverter());
  25.         //解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
  26.         converters.add(messageConverter());
  27.     }
  28. }
复制代码






上一篇:代理IP对爬虫的重要性以及Python3如何设置代理
下一篇:RPC服务和HTTP服务对比
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2020-4-2 01:58

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表