参数https://blog.youkuaiyun.com/u010246789/article/details/52539576
springboot配置
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
/*@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 允许跨域访问的路径
.allowedOrigins("*") // 允许跨域访问的源
.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE") // 允许请求方法
.maxAge(168000) // 预检间隔时间
.allowedHeaders("*") // 允许头部设置
.allowCredentials(true); // 是否发送cookie
}*/
/**
* https://segmentfault.com/a/1190000015975405
* 分析
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//1、定义一个convert转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2、添加fastjson的配置信息
FastJsonConfig fastJsonConfig = new FastJsonConfig();
/*fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,
SerializerFeature.WriteNullListAsEmpty);*/
//WriteNullListAsEmpty List字段如果为null,输出为[],而非null
//WriteMapNullValue : 是否输出值为null的字段,默认为false
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,
//SerializerFeature.WriteMapNullValue,
SerializerFeature.SortField);
fastJsonConfig.setDateFormat("yyyy-MM-dd hh:mm:ss");
//3、在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
//处理乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
//4、将convert添加到converters中
//converters.add(fastConverter);
converters.add(0,fastConverter);
//5、追加默认转换器
//super.addDefaultHttpMessageConverters(converters);
}
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
//打印json格式
//com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter@5e0ec41f
for (HttpMessageConverter<?> messageConverter : converters) {
System.out.println(messageConverter);
}
}
}
converters.add(0,fastConverter); 设置第一个生效位置