SpringBoot返回中文乱码问题(使用的是fastJson)

@SpringBootApplication
//下面是自动注入的时候,排除数据库
//@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class LearnSpringBootApplication extends WebMvcConfigurationSupport{

   /**
    * 使用fastJson的方式一     需要  extends WebMvcConfigurationSupport
    * 1.需要先定义一个convert转换消息的对象
    * 2.添加fastJson的配置信息,比如:是否要格式化返回的json数据
    * 3.在convert中添加配置信息
    * 4.将convert添加到converts当中
    * @param converters
    *  这种方式才能解决乱码问题,下面的方式二我试了一下,不得行
    */
   public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
      super.configureMessageConverters(converters);
      //1.需要先定义一个convert转换消息对象
      FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
      //2.添加fastJson的配置信息,比如:是否要格式化返回的json数据
      FastJsonConfig fastConfig=new FastJsonConfig();
      fastConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
      //处理中文乱码问题(不然出现中文乱码)
      List<MediaType> fastMediaTypes = new ArrayList<>();
      fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
      fastConverter.setSupportedMediaTypes(fastMediaTypes);
      //3.在convert中添加配置信息
      fastConverter.setFastJsonConfig(fastConfig);
      //4.将convert添加到converts当中
      converters.add(fastConverter);
   }

   /**
    * 这种方式不需要 extends WebMvcConfigurationSupport
    * 在这里使用@Bean注入 使用fastJson方式二
    */
   /*@Bean
   public HttpMessageConverters fastJsonConverters() {
      //1.需要先定义一个convert转换消息对象
      FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
      //2.添加fastJson的配置信息,比如:是否要格式化返回的json数据
      FastJsonConfig fastConfig=new FastJsonConfig();
      fastConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
      //处理中文乱码问题(不然出现中文乱码)
      List<MediaType> fastMediaTypes = new ArrayList<>();
      fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
      fastConverter.setSupportedMediaTypes(fastMediaTypes);
      //3.在convert中添加配置信息
      fastConverter.setFastJsonConfig(fastConfig);
      //4.将convert添加到converts当中
      HttpMessageConverter<?> converter=fastConverter;
      return new HttpMessageConverters(converter);
   }*/
    public static void main(String[] args) {
      SpringApplication.run(LearnSpringBootApplication.class, args);
   }


}

猜你喜欢

转载自blog.csdn.net/qq_33371766/article/details/82220605
今日推荐