如何使用Spring MVC的消息转换器设置日期格式
描述
在后端返回给前端的JSON数据中含有日期类型的子段时,如何指定该类型的日期的显示格式。
解决方案
使用Spring MVC的消息转换器即可。
1.添加配置类,并继承 WebMvcConfigurationSupport
类,重写 extendMessageConverters
/** * 扩展Spring MVC框架的消息转换器 * @param converters */ @Override protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) { log.info("扩展消息转换器..."); //创建一个消息转换器对象 MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); //需要为消息转换器对象设置一个对象转换器,对象转换器可以将Java对象序列化为JSON converter.setObjectMapper(new JacksonObjectMapper()); //将自己的消息转换器加入到相关容器中,并设置优先级 converters.add(0, converter); }
2.自定义对象转换器 JacksonObjectMapper
,设置对应日期类型的转换格式
/** * 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象 * 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] * 从Java对象生成JSON的过程称为 [序列化Java对象到JSON] */ public class JacksonObjectMapper extends ObjectMapper { public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm"; public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss"; public JacksonObjectMapper() { super(); //收到未知属性时不报异常 this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); //反序列化时,属性不存在的兼容处理 this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); SimpleModule simpleModule = new SimpleModule() .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) .addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) .addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))) .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) .addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); //注册功能模块 例如,可以添加自定义序列化器和反序列化器 this.registerModule(simpleModule); } }
随后问题将会被解决。
到此这篇关于使用Spring MVC的消息转换器设置日期格式的文章就介绍到这了,更多相关Spring MVC消息转换器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
一文了解Java Log框架彻底搞懂Log4J,Log4J2,LogBack,SLF4J
本文主要介绍了一文了解Java Log框架彻底搞懂Log4J,Log4J2,LogBack,SLF4J,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-03-03解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题
今天小编就为大家分享一篇关于解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12SpringBoot+mybatis+Vue实现前后端分离项目的示例
本文主要介绍了SpringBoot+mybatis+Vue实现前后端分离项目的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-12-12Springboot整合freemarker和相应的语法详解
FreeMarker是一款Spring官方推荐使用的模板引擎。接下来通过本文给大家介绍Springboot整合freemarker和相应的语法,感兴趣的朋友一起看看吧2021-09-09springboot vue测试平台接口定义及发送请求功能实现
这篇文章主要为大家介绍了springboot+vue测试平台接口定义及发送请求功能实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-05-05
最新评论