ITPub博客

首页 > 应用开发 > Java > spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错

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

原创 Java 作者:陈守印 时间:2018-06-15 21:26:14 0 删除 编辑


spring boot 解决后台返回 json 到前台中文乱码



spring boot 解决后台返回 json 到前台中文乱码,报错 500:no convertter for return value of type,中文返回给浏览器乱码 解析成问号?? 详细错误信息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


后台返回 json 到前台中文乱码解决办法

一、解决中文乱码的配置



@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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28470105/viewspace-2156254/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
我的网站:在线助手 https://it399.com 我的小程序:在线生成制作工具 我的软件:e寸照

注册时间:2018-05-22

  • 博文量
    11
  • 访问量
    24531