В моем весеннем загрузочном приложении у меня есть метод контроллера, в kotlin:
@GetMapping("/testDate")
@ResponseBody
fun testDate(): ResponseEntity<Date> {
return ResponseEntity.ok().body(Date())
}
Дата - это java.util.Date.
Ответ этого метода - метка времени. Например, 1572869050518
. Я хочу использовать произвольный формат в любом месте моего приложения, например, «dd.MM.yyyy». И я не могу найти способ его настройки.
Я использую классы с полями Date
из другого приложения и API другого приложения, чтобы получить его. Поэтому я не могу аннотировать поля с помощью @JsonFormat или других аннотаций. Я получаю готовые объекты и возвращаю его в контроллеры, чтобы показать его пользователям.
Я читаю эту статью , затем добавляю spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
- безрезультатно.
В это ТАК вопросы, которые я обнаружил, необходимо добавить com.fasterxml.jackson.datatype:jackson-datatype-joda
. Хорошо, я добавляю это, без эффекта в результате.
Я добавляю spring.jackson.serialization.write-dates-as-timestamps=false
, без эффекта.
И наконец, я нашел §3.6 в весенних документах , добавитьконфигурация с компонентом FormattingConversionService
, как в примере, без эффекта.
Есть ли рабочий пример, как настроить форматирование даты по умолчанию в приложении 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}
.