在Springboot框架中,后端controller返回给前端日期类型变成了时间戳,需要转为日期时间。
在config的WebMvcConfigurer配置如下
@Configuration
public class WebAppConfigurer implements WebMvcConfigurer {
public HttpMessageConverter<String> stringConverter() {
StringHttpMessageConverter converter = new StringHttpMessageConverter(
Charset.forName("UTF-8"));
return converter;
}
/**
* 格式化返回体,去除null为空字符串
*
* @return
*/
public HttpMessageConverter fastConverter() {
//1、定义一个convert转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2、添加fastjson的配置信息
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
//字符串null返回空字符串
SerializerFeature.WriteNullStringAsEmpty,
//数值类型为0
SerializerFeature.WriteNullNumberAsZero,
SerializerFeature.WriteDateUseDateFormat,
//空字段保留
SerializerFeature.WriteNullListAsEmpty);
fastJsonConfig.setCharset(Charset.forName("UTF-8"));
//2-1 处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
//3、在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
return fastConverter;
}
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.clear();
converters.add(fastConverter());
converters.add(stringConverter());
}
}