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 (已过时),改用WebMvcConfigurationSupport
②覆盖configureMessageConverters方法
@SpringBootApplication
public class App extends WebMvcConfigurationSupport{
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
/**
* 1.需要先定义一个convert 转换消息的对象;
* 2.添加fastjson 的配置信息,比如:是否要转换格式化返回的json数据;
* 3.在convert中添加配置信息
* 4.将convert添加到converters当中
*/
// 1.需要先定义一个convert 转换消息的对象;
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2.添加fastjson 的配置信息,比如:是否要转换格式化返回的json数据;
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//3.在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
//4.将convert添加到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);
}