如何使用Spring引导json输出中的日期格式?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我正在开发用于创建休息应用程序的spring引导程序。我有一个DTO,如下所示:

public class Subject {

private String uid;
private String number;
private String initials;
private Date dateOfBirth;

我使用Spring-Hateos,我的控制器的reurn类型是ResponseEntity >>。我需要以“yyyy-mm-dd”格式显示日期。我对此感到震惊。请帮助我如何实现这一目标。

提问于
用户回答回答于

你最可能的意思是“yyyy-MM-dd”小后者'm'意味着分钟节。

你应该做两件事

  • 添加spring.jackson.serialization.write-dates-as-timestamps:false你的application.properties这将禁用转换日期到时间戳,而是使用ISO-8601兼容格式
  • 可以通过使用注释dateOfBirth属性的getter方法来自定义格式@JsonFormat(pattern="yyyy-MM-dd")
用户回答回答于

如果将Jackson与应用程序整合以将bean序列化为JSON格式的athn,则可以使用Jackson的偏移@JsonFormat将日期格式化为指定的格式。 在你的情况下,如果你需要yyyy-mm-dd格式化日期,则需要@jsonFormat在要应用此格式的字段上方指定。

例如 :

public class Subject {

     private String uid;
     private String number;
     private String initials;

     @JsonFormat(pattern="yyyy-MM-dd")
     private Date dateOfBirth;  

     //Other Code  

}  

从文档:

注释用于配置如何序列化属性值的详细信息。

更多参考文件

扫码关注云+社区