SpringBoot 前后端分离项目 配置全局 LocalDateTime 日期格式转换器
时间: 2023-10-14 13:15:53 浏览: 46
在 SpringBoot 前后端分离项目中,配置全局 LocalDateTime 日期格式转换器可以方便地将前端传递过来的日期字符串转换为 LocalDateTime 类型,以便后续进行处理。
以下是配置全局 LocalDateTime 日期格式转换器的方法:
1. 创建一个 LocalDateTimeFormatConfig 类,用于配置日期格式转换器:
```java
@Configuration
public class LocalDateTimeFormatConfig {
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
return builder -> builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
}
@Bean
public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new StringToLocalDateTimeConverter());
}
};
}
private static class StringToLocalDateTimeConverter implements Converter<String, LocalDateTime> {
@Override
public LocalDateTime convert(String source) {
return LocalDateTime.parse(source, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
}
}
```
2. 上面的代码中,首先使用 Jackson2ObjectMapperBuilderCustomizer 配置了 Jackson 库的 LocalDateTime 序列化器,将 LocalDateTime 类型转换为指定格式的日期字符串。
3. 然后使用 WebMvcConfigurer 配置了一个 StringToLocalDateTimeConverter 类型的转换器,将前端传递过来的日期字符串转换为 LocalDateTime 类型。
4. 最后,将 LocalDateTimeFormatConfig 类添加到 SpringBoot 项目的配置类中即可:
```java
@SpringBootApplication
@Import({LocalDateTimeFormatConfig.class})
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
这样,在 SpringBoot 前后端分离项目中,就可以方便地进行全局 LocalDateTime 日期格式转换了。