Springboot 默认使用 jackson 作为序列化与反序列化的 JSON 框架,当我们想要使用自己更习惯的 JSON 序列化框架时,有以下三种方式:
先在 pom.xml 文件中添加 JSON 框架依赖,以下以 fastjson 为例
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
方式一:(该方式不建议使用,WebMvcConfigurerAdapter 已过期)
1.启动类继承 WebMvcConfigurerAdapter 类
2.重写 configureMessageConverters() 方法
@SpringBootApplication
public class WxSpringbootExerApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(WxSpringbootExerApplication.class, args);
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
fastJsonHttpMessageConverter.setFeatures (SerializerFeature.PrettyFormat);
converters.add(fastJsonHttpMessageConverter);
}
}
方式二:
1、配置类实现 WebMvcConfigurer 接口
2、重写 configureMessageConverters() 方法
@Configuration
public class WxConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
fastJsonHttpMessageConverter.setFeatures(SerializerFeature.PrettyFormat);
converters.add(fastJsonHttpMessageConverter);
}
}
方式三:
在配置类中注入 HttpMessageConverters
@Configuration
public class WxConfig {
@Bean
public HttpMessageConverters httpMessageConverters() {
return new HttpMessageConverters(new FastJsonHttpMessageConverter());
}
}