在我的spring boot应用程序中,我在kotlin中具有控制器方法:
@GetMapping("/testDate")
@ResponseBody
fun testDate(): ResponseEntity<Date> {
return ResponseEntity.ok().body(Date())
}
日期-它是java.util.Date。
此方法的响应为时间戳。例如,1572869050518
。我想在我的应用程序中的任何地方使用自定义格式,例如“ dd.MM.yyyy”。而且我找不到一种配置方法。
我使用其他应用程序中带有Date
字段的类以及其他应用程序的API来获取它。因此,我无法使用@JsonFormat或其他注释来注释字段。我准备好对象并将其返回到控制器中以显示给用户。
我读了this article,然后添加了spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-结果无效。
在this这样的问题中,我发现必须添加com.fasterxml.jackson.datatype:jackson-datatype-joda
。好的,我添加了它,结果没有效果。
我添加spring.jackson.serialization.write-dates-as-timestamps=false
,无效。
最后,我在spring docs中发现了§3.6,像示例中那样,使用FormattingConversionService
bean添加了配置,
有工作示例如何在Spring MVC应用程序中配置默认日期格式吗?
UPD1。没关系,日期是另一个对象的一部分。如果我引入了data class TestDateObj(var dt: Date)
类,请将方法更改为
@GetMapping("/testDate")
@ResponseBody
fun testDate(): ResponseEntity<TestDateObj> {
return ResponseEntity.ok().body(TestDateObj(dt = Date()))
}
我得到{"dt":1572878129672}
的结果。