前言
Springboot默认使用Jackon进行Json相关操作,但由于个人习惯笔者经常替换为FastJson进行Json操作,本文提供相关配置。
1.FastJson
Fastjson是一个Java语言编写的高性能功能完善的JSON库,由alibaba编写并开源在github上。FastJson文档
2.Springboot配置FastJosn
2.1添加依赖
使用Maven:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>VERSION_CODE</version>
</dependency>
使用Gradle:
compile 'com.alibaba:fastjson:VERSION_CODE'
2.2相关配置
@Configuration
public class FastJsonDefaultConfig {
/**
* 默认使用FastJosn进行序列化
*
* @return
*/
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastConverter;
return new HttpMessageConverters(converter);
}
}
进行上面配置后Springboot Rest接口默认FastJson进行序列化,可使用FastJson相关注解对对象进行设置来控制返回值。