天天看點

spring boot 配置fastjson

spring boot 預設使用的json轉換工具是jackson。

內建fastjson,引入fastjson的jar,版本1.2.10+

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.15</version>
        </dependency>
           

配置fastjson有兩種方式

第一種方式:

① 啟動類繼承 WebMvcConfigurerAdapter

②覆寫configureMessageConverters方法

@SpringBootApplication
public class App extends WebMvcConfigurerAdapter{

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

        //定義一個轉換消息的對象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //添加fastjson的配置資訊 比如 :是否要格式化傳回的json資料
        FastJsonConfig fastJsonConfig = new FastJsonConfig();

        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

        //在轉換器中添加配置資訊
        fastConverter.setFastJsonConfig(fastJsonConfig);

        //将轉換器添加到converters中
        converters.add(fastConverter);
    }
           

第二種方式:

啟動類注入Bean HttpMessageConverters

@Bean
    public HttpMessageConverters fastjsonHttpMessageConverter(){
        //定義一個轉換消息的對象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //添加fastjson的配置資訊 比如 :是否要格式化傳回的json資料
        FastJsonConfig fastJsonConfig = new FastJsonConfig();

        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

        //在轉換器中添加配置資訊
        fastConverter.setFastJsonConfig(fastJsonConfig);

        HttpMessageConverter<?> converter = fastConverter;

        return new HttpMessageConverters(converter);

    }
           

到此fastjson配置完畢。測試是否json是否使用fastjson可在實體類對象的任意屬性加上@JSONField(serialize=false)傳回前端的資料沒有該屬性,則配置成功

繼續閱讀