springboot配置fastjson並解決亂碼問題

  • 在pom.xml中添加fastjson依賴
<!-- 添加fastjson依賴  -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.15</version>
    </dependency>
  • 配置fastjson
    第一種方法:

    啓動類繼承extends WebMvcConfigurerAdapter
    覆蓋方法configureMessageConverters

@SpringBootApplication
public class ApiCoreApp  extends WebMvcConfigurerAdapter {

    @Override
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        //1.需要先定義一個Convert 轉換消息的對象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //2.添加fastjson的配置信息,比如:是否要格式化返回就送數據;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(
                SerializerFeature.PrettyFormat
        );


        //3.在Convert中添加配置信息;
        fastConverter.setFastJsonConfig(fastJsonConfig);       

        //4.將canvert添加到converters當中
        converters.add(fastConverter);
    }

第二種方法:
在App.java啓動類中,注入Bean : HttpMessageConverters。

    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        //1.需要先定義一個Convert 轉換消息的對象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //2.添加fastjson的配置信息,比如:是否要格式化返回就送數據;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

        //3.在Convert中添加配置信息;
        fastConverter.setFastJsonConfig(fastJsonConfig);

        HttpMessageConverter<?> converter = fastConverter;
        return new HttpMessageConverters(converter);
    }

運行後出現中文亂碼:(解決)

        //處理中文亂碼問題
        List<MediaType> fastMediaTypes = new ArrayList<>();
        fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        fastConverter.setSupportedMediaTypes(fastMediaTypes);
發佈了48 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章