Как передать аргумент конструктору Джексона @JsonSerialize? - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь сериализовать joda LocalDate в строку.

@JsonProperty("date")
@JsonSerialize(using = LocalDateSerializer.class)
LocalDate date;

Однако получается три значения, например [2020, 1, 9], а не строка «2020-01-09» ,

Класс LocateDateSerializer документирует несколько конструкторов, один без аргументов и два типа

LocalDateSerializer (java .time.format.DateTimeFormatter formatter)

Но я не могу понять, как указать аргумент конструктора в аннотации, чтобы я мог вызвать LocalDateSerializer с аргументом DateTimeFormatter.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Вы можете указать формат с @JsonFormat

@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("date")
@JsonSerialize(using = LocalDateSerializer.class)
LocalDate date;
0 голосов
/ 10 января 2020

Вместо этого попробуйте добавить аннотации на геттер:

@JsonSerialize(using = LocalDateSerializer.class)   
public LocalDate getDate() {
            return date;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...