如何在Spring MVC控制器中正确配置日期序列化

在我的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}的结果。

qqcoboo 回答:如何在Spring MVC控制器中正确配置日期序列化

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166114.html

大家都在问