springboot项目接口响应中文数据乱码

大家平时在用spring boot项目做项目开发时,可能会出现接口响应中文乱码,那么这个时候,我们点击F12查看浏览器响应头Response Headers时,会发现,Content-Type: text/html;charset=ISO-8859-1,这个时候,我们要做的事就是怎么让这个响应的编码方式为UTF-8呢?

1、最有效果的就是直接在 接口控制层添加一段简单的代码


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

2、做全局的请求响应数据过滤器,具体参考如下代码


@Configuration
@EnableWebMvc
public class ResposeConfig implements WebMvcConfigurer {

    @Bean
    public HttpMessageConverter<String> responseBody(){
        return new StringHttpMessageConverter(Charset.forName("UTF-8"));
    }
    
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(responseBody());
    }
    
    }
    

3、直接在response headers 中设置content-type


                response.setHeader("Content-Type","application/json;charset=UTF-8");
 

好了,以上的方法,青菜萝卜,各有所爱,大家各取所需。

你可能感兴趣的:(spring,boot,java,spring)