springboot中处理response返回json对象乱码的问题

第一种方式通过修改代码方式实现

A和B可以任选一种方式都能达到效果,请自行选择使用哪种方式。

A、在Controller 中@RequestMapping中添加注解 produces=“application/json;charset=UTF-8”
这中方式使用,但有个缺点,就是每个方法都需要添加代码

@RequestMapping(value="test",produces="application/json;charset=UTF-8")

B、 添加配置类,这种方式是统一设置相应数据的编码格式

@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());
    }

}

第二种方式通过修改配置文件方式实现

[推荐采用这种方式] 这种方式不需要添加代码,直接修改配置文件即可。

server:
  tomcat:
    uri-encoding: UTF-8
spring:
  http:
    encoding:
      force: true
      charset: utf-8
      enabled: true

你可能感兴趣的:(springboot中处理response返回json对象乱码的问题)