下面是关于“springboot 返回json格式数据时间格式配置方式”的完整攻略。
一、需求分析
在Spring Boot应用中,我们常常需要返回JSON格式数据。而JSON格式中的时间字段经常需要进行格式化,以便更加直观和易读。因此,我们需要对返回的时间字段进行格式化处理。
二、解决方法
Spring Boot提供了多种方式来解决这个问题,下面将介绍两种不同的方法。
1. 使用注解@JsonFormat
使用注解@JsonFormat,可以对Java对象(包含时间类型字段)进行自定义格式化输出。
具体实现方式:
-
添加注解 @JsonFormat 在属性字段上
```java
import com.fasterxml.jackson.annotation.JsonFormat;import java.util.Date;
public class User {
private Integer id; private String name; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; // getter 和 setter 方法省略
}
``` -
在controller中返回包含User的json对象
```java
@RestController
@RequestMapping("user")
public class UserController {@RequestMapping(value = "/{id}", method = RequestMethod.GET) public User getUser(@PathVariable Integer id) { User user = new User(); user.setId(id); user.setName("Jack"); user.setCreateTime(new Date(System.currentTimeMillis())); return user; }
}
``` -
返回结果
{
"id": 1,
"name": "Jack",
"createTime": "2021-06-08 17:04:45"
}
2. 配置SpringBoot默认的Jackson ObjectMapper
通过配置SpringBoot默认的Jackson ObjectMapper,可以实现对所有时间类型字段的格式化输出。
具体实现方式:
-
在Spring配置文件(application.yml或application.properties)中添加以下配置
yml
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8 -
在controller中返回包含User的json对象
```java
@RestController
@RequestMapping("user")
public class UserController {@RequestMapping(value = "/{id}", method = RequestMethod.GET) public User getUser(@PathVariable Integer id) { User user = new User(); user.setId(id); user.setName("Jack"); user.setCreateTime(new Date(System.currentTimeMillis())); return user; }
}
``` -
返回结果
{
"id": 1,
"name": "Jack",
"createTime": "2021-06-08 17:04:45"
}
三、总结
以上两种方法都可以实现对Spring Boot应用返回JSON格式数据中的时间类型字段进行格式化处理。具体使用哪种方式取决于实际场景和需求。
四、参考链接
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 返回json格式数据时间格式配置方式 - Python技术站