如何更改ResponseEntity的时间戳字段格式?

时间:2019-10-02 12:29:52

标签: java spring spring-boot format httpresponse

我的API使用org.springframework.http.ResponseEntity

返回响应正文

我需要将时间戳字段格式更改为特定格式。

在application.properties文件中使用什么属性?

我试图在网上找到它,但发现了其他第三方库的引用,而不是spring的引用。

如果我还可以用其他格式定义message字段,那可能很棒。

当前响应正文:

{
  "timestamp": "Oct 2, 2019 3:24:32 PM",
  "status": 200,
  "error": "OK",
  "message": "Initialization failed. cfgId doesn't exist",
  "path": "/a/b/c/d/init"
}

我没有使用任何第三方库来返回json,它只是 org.springframework.http.ResponseEntity

我正在寻找一个通用的解决方案,而不是每个领域。我想要一个application.properties值来解决它。

2 个答案:

答案 0 :(得分:0)

来自Spring Docs on Common application properties

如果您使用的是Jackson等第三方,则必须设置spring.jackson.data-format属性:

enter image description here

如果您不使用则必须设置spring.mvc.date-format属性

enter image description here

现在,您提到了格式yyyy-MM-dd'T'HH:mm:ss,因此您必须设置任何属性

spring.jackson.data-format=yyyy-MM-dd'T'HH:mm:ss
spring.mvc.date-format=yyyy-MM-dd'T'HH:mm:ss

希望这对您有所帮助。

谢谢。

检查文档以获取更多信息。 :)

答案 1 :(得分:0)

您也可以使用@JsonFormat in Jackson

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
public Date getCurrentDate() {
    return new Date();
}