spring 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正常
  • Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException:
    No converter found for return value of type: class www.it399.com.controller.file.ResultBean

解决中文乱码的配置

@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 到前台出现中文乱码的问题
 * 在线助手博客 http://www.it399.com/blog/index.jsp
 */
@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());
    }

}

本文同步发布在 在线助手-在线生成制作工具箱博客转载请注明来自 在线助手-在线生成制作工具箱博客频道spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500】,原文链接:http://www.it399.com/blog/web/201805081017

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,112评论 6 342
  • SpringMVC原理分析 Spring Boot学习 5、Hello World探究 1、POM文件 1、父项目...
    jack_jerry阅读 5,215评论 0 1
  • 一、Spring Boot 入门 1、Spring Boot 简介 简化Spring应用开发的一个框架;整个Spr...
    Y了个J阅读 11,676评论 1 6
  • 第49章 凭我想要娶你 秦默川拉着我从季少一面前而过,他没有拦住我们,也没有伸手拉我。 我心底原本的期待瞬间被...
    林靡阅读 3,502评论 8 1