如何以ISO格式而不是Java中的时间戳返回日期对象?

如何以ISO格式而不是Java中的时间戳返回日期对象?,java,json,date,spring-boot,Java,Json,Date,Spring Boot,假设一个java类 public class User(){ String name; Date dateCreated; } 和一个Spring启动控制器: @RequestMapping(value = "getUser", method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)) public User getUser() { User newUser = new User();

假设一个java类

public class User(){
    String name;
    Date dateCreated;
}
和一个Spring启动控制器:

@RequestMapping(value = "getUser", method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE))
public User getUser() {
   User newUser = new User();
   newUser.dateCreated = new Date();
   return newUser;
}
如果我有一个RESTAPI端点以JSON格式返回该用户对象,如上所述,那么dateCreated将以时间戳格式而不是ISO格式发送。除了必须指定一个以日期为字符串的新返回对象外,还有什么方法可以让Java以Iso格式返回日期


一种方法是将日期转换为字符串并发送,但我想知道是否有更方便的方法..

使用以下内容更新application.properties:

spring.jackson.serialization.write-dates-as-timestamps:false
现在,您可以在bean中指定格式,如下所示:

public class User(){
    String name;
    @JsonFormat(pattern="yyyy-MM-dd")
    Date dateCreated;
}

您序列化的内容类型是什么?啊,让我更新我的帖子,响应以JSON格式返回。您使用什么库进行JSON序列化/反序列化?Spring Boot的默认值是Jackson。好吧,我想在这里跟你讲讲,我完全不知道,我从来没有为JSON序列化/反序列化指定过一个库。这总是由Spring Boot自动完成的,所以我想假设,既然默认值是Jackson,那么Jackson是,但我不会百分之百赞成。我只是把@RestController放在我的java类的顶部,所有的事情都是自动处理的。json格式显示的日期少1天。