为 spring-mvc(非启动)自定义 JSON 的 JSON 日期格式?
我正在转换我的应用程序以摆脱 spring-boot,它现在仅使用 Spring (5.3)。
我添加了 @EnableWebMvc
配置,并且我的端点在大部分情况下都能正常工作 - 它们以 JSON 形式返回我想要的数据。
之前,我使用 spring-boot 属性自定义了日期格式: spring.jackson.date-format=yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
在新的不过,在纯 Spring 应用程序中,它会回归序列化为 long
值。
我已经尝试了以下方法,但似乎根本没有使用这些 bean:
@Bean
public ObjectMapper objectMapper() {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
ObjectMapper dateFormatMapper = new ObjectMapper();
dateFormatMapper.setDateFormat(dateFormat);
return dateFormatMapper;
}
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2JsonView(){
var converter = new MappingJackson2HttpMessageConverter();
converter.getObjectMapper().setDateFormat(
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") );
return converter;
}
我希望在全局范围内自定义格式,而不是在每个字段的基础上。
对于纯 Spring @EnableWebMvc
设置来说,与 spring.jackson.date-format
等效的是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
WebMvcConfigurer
和@EnableWebMvc
来自定义MappingJackson2HttpMessageConverter
。例如:
有关更多信息,请参阅 1.11.7。消息转换器 - Web on Servlet Stack - docs.spring.io。
You can customize
MappingJackson2HttpMessageConverter
by usingWebMvcConfigurer
with@EnableWebMvc
.For example:
For more information, please see 1.11.7. Message Converters - Web on Servlet Stack - docs.spring.io.