一次性解决SpringBoot,通过RestController注解返回String类型和DTO类型的序列化和乱码问题

/**
*  解决字符串返回乱码问题,指定UTF-8返回字符集
**/
@Bean
  public HttpMessageConverter responseBodyConverter() {
    return new StringHttpMessageConverter(StandardCharsets.UTF_8);
  }

/**
*  解决DTO对象返回,反序列化问题
**/
  @Bean
  public ObjectMapper getObjectMapper() {
    ObjectMapper mapper = new  ObjectMapper();
    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    return mapper;
  }

/**
*  配置Jackson
**/
  @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序列化问题
    converters.add(messageConverter());
  }

你可能感兴趣的:(Java,日常问题,乱码,json,字符串)