springboot如何配置全局的接口返回都采用utf-8编码

alwaysmove / 2024-10-12 / 原文

1、新建一个实现WebMvcConfigurationSupport接口的实现类

@Configuration
public class MessageMvcConfiguration extends WebMvcConfigurationSupport {

    //覆写extendMessageConverters方法即可
    // @Override
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        for (HttpMessageConverter<?> converter :converters){
            if(converter instanceof StringHttpMessageConverter){
                //将StringHttpMessageConverter改为utf-8
                ((StringHttpMessageConverter)converter).setDefaultCharset(StandardCharsets.UTF_8);
            }
        }
        super.extendMessageConverters(converters);
    }
}