解决SpringBoot返回Java8 时间JSON数据的格式化问题,使用实现WebMvcConfigurer接口的方式解决
时间: 2023-12-10 14:40:26 浏览: 34
在SpringBoot中,我们可以使用@JsonFormat注解来格式化Java8时间类型的JSON输出。但是,如果我们需要对所有Java8时间类型统一进行格式化,可以使用实现WebMvcConfigurer接口的方式来解决。
具体步骤如下:
1. 创建一个类,实现WebMvcConfigurer接口,并重写addFormatters方法,在其中注册日期时间格式化器。
```java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addFormatters(FormatterRegistry registry) {
DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
registrar.setDateFormatter(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
registrar.setTimeFormatter(DateTimeFormatter.ofPattern("HH:mm:ss"));
registrar.setDateTimeFormatter(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
registrar.registerFormatters(registry);
}
}
```
2. 在SpringBoot的配置文件中,禁用掉Jackson对Java8时间类型默认的序列化方式,让它使用我们自己定义的格式化器。
```yaml
spring:
jackson:
serialization:
WRITE_DATES_AS_TIMESTAMPS: false
```
这样,我们就实现了对所有Java8时间类型的统一格式化。在Controller中返回Java8时间类型的JSON数据时,就会按照我们定义的格式输出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)