`

spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500

阅读更多

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

问题描述

1.spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson

 

2.spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for return value of type

 

3.注释掉解决中文乱码的问题之后返回对象json正常

 

4.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 responseBodyConverter(){
        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        return converter;
    }

    @Override
    public void configureMessageConverters(List> 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 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> converters) {
        super.configureMessageConverters(converters);
        //解决中文乱码
        converters.add(responseBodyConverter());
        //解决 添加解决中文乱码后 上述配置之后,返回json数据直接报错 500:no convertter for return value of type
        converters.add(messageConverter());
    }

}

原文出自:在线助手-在线生成制作工具箱 http://www.it399.com/blog/web/201805081017

 

分享到:
评论

相关推荐

    Spring boot redis demo.rar

    本教程将通过一个名为 "Spring boot redis demo" 的入门级项目,介绍如何在Spring Boot中集成并使用Redis,同时解决可能出现的乱码问题。 首先,我们需要在Spring Boot项目中添加Redis的相关依赖。在`pom.xml`或`...

    Java中文乱码浅析及解决方案

    Java 中文乱码问题是一个常见的编程困扰,尤其对于处理中文字符的Java程序而言。这个问题通常源于字符编码的不一致,即不同环节采用的字符编码标准不统一。本文将深入探讨这一问题,并提供相应的解决方案。 首先,...

    安卓Andriod源码——使用JSON进行网络数据交换(服务端、客户端)的实现.zip

    当与服务端进行JSON数据交换时,客户端会将数据序列化为JSON格式发送到服务器,并接收服务器返回的JSON数据进行反序列化。Android SDK内置了org.json库,可以方便地进行JSON对象的创建、解析和操作。例如,创建一个...

    Spring MVC请求参数与响应结果全局加密和解密详解

    timestamp是时间戳,data是实际的业务请求数据转化成的Json字符串再进行加密得到的密文,sign是签名,生成规则算法伪代码是SHA-256(data=xxx&timestamp=11111)。为了简单起见,我们可以采用AES对称秘钥为"throwable...

    springboot处理器和字符编码.docx

    例如,如果项目使用UTF-8编码,返回的数据也是UTF-8格式,但HTTP头设置了GBK编码,接收方按照GBK解码,中文数据就会出现乱码,因为UTF-8转GBK后无法正确还原。因此,确保编码一致性对于避免数据传输过程中的乱码至关...

    学见的一些运行web项目时的乱码问题

    在开发和运行Web项目时,乱码问题是一个常见的困扰,尤其对于中文字符处理更为明显。这类问题主要出现在数据的输入、存储、传输以及显示等环节。以下是一些关于Web项目中乱码问题的详细分析和解决策略。 1. **编码...

    redis 解决key的乱码问题,并清理详解

    在使用Redis作为数据库时,我们常常会遇到存储或检索数据时键(key)或值(value)出现乱码的问题,这通常是因为序列化和反序列化过程中字符编码的不匹配所导致的。本文将详细介绍如何解决Redis键值乱码的问题,并...

    基于java反射机制的山寨版WEB2

    在"基于Java反射机制的山寨版WEB2"项目中,开发者利用这一特性创建了一个简易的Web应用程序,实现了文件上传下载、处理中文乱码、NEW和SPRING模式的支持以及JSON数据交互等功能。 1. **文件上传下载与中文乱码处理*...

    Java(springboot) 读取txt文本内容代码实例

    Java(springboot) 读取txt文本内容代码实例 Java(springboot) 读取txt文本...* Spring Boot 项目中文本文件的读取 本文对大家的学习和工作具有一定的参考学习价值,可以作为学习 Java 和 Spring Boot 的参考资料。

    SpringBoot通过redisTemplate调用lua脚本并打印调试信息到redis log(方法步骤详解)

    RedisTemplate的序列化方式默认是基于Java JDK的序列化,但这种序列化方式会出现乱码的问题。因此,需要将序列化方式设置为JSON序列化,以便正确地传递参数给lua脚本。 六、总结 本文详细介绍了如何在Spring Boot...

    springboot离线版所需jar包

    1. **spring-boot-starter**: 这是Spring Boot的起步依赖,它包含了一组常用功能的集合,如日志、自动配置等。例如,`spring-boot-starter-web`提供了用于构建Web应用的基本依赖,包括Spring MVC和Tomcat。 2. **...

    SpringBoot开发非常美观的java博客系统(包含后台管理功能).pdf

    3. **主框架**:Spring-boot、Spring-data-jpa,提供便捷的数据库操作和应用快速搭建。 4. **安全权限**:Apache Shiro,实现用户认证和授权。 5. **搜索工具**:Lucene,用于实现站内搜索功能。 6. **缓存机制**:...

    springmvc-restful-pathvariable

    本文将深入探讨如何使用`@PathVariable`来处理URL中的动态参数,以及如何解决在Spring MVC中可能出现的乱码问题。 首先,`@PathVariable`是Spring MVC提供的一个注解,用于获取URL路径中的变量值。当我们在控制器...

    SpringBoot开发非常美观的java博客系统.pdf

    - 配置Tomcat的URIEncoding为UTF-8,解决乱码问题。 - 在后台系统配置中设置网站信息,如域名、描述等。 4. **运行与部署**: - 运行`mblog-web`模块下的`BootApplication.java`启动项目,查看控制台确认启动...

    SMBMS前端资源.zip

    这个标签提示我们,SMBMS项目不仅有前端,还可能包括用Java编写的后端服务,如Spring Boot或Spring MVC框架,以及数据库交互等。 【压缩包子文件的文件名称列表】:SMBMS系统前端webapp,这个子文件夹很可能是项目...

    SpringBoot开发非常美观的java博客系统 (2).pdf

    技术选型方面,本系统基于JDK8开发,数据库采用MySQL,主框架为Spring-boot和Spring-data-jpa。缓存机制使用Ehcache,视图模板使用Freemarker。前端开发中,利用Jsoup进行HTML解析,fastjson处理JSON数据,jQuery和...

    SsHome_Ver2.0:升级的SsHome

    SsHome_Ver2.0技术网站链接Bootstrap4 Spring文献 GitHub OAuth 2.0 OKHttp api-getUsers-demo新版本mysql修改root密码时提示语法错误的解决方法彻底解决mysql中文乱码 Json在线编辑器 Markdown编辑器项目部署说明 1...

    基于JAVA的餐饮管理系统毕业论文(设计)(1).doc

    虽然原文内容看起来像是乱码或加密的信息,但我们可以根据关键词和上下文来推测其中可能涉及的IT知识点。 1. **JAVA编程语言**: 作为系统开发的基础,Java是一种跨平台的面向对象的编程语言,具有丰富的类库和强大...

Global site tag (gtag.js) - Google Analytics