Время формата даты в Spring Doc swagger API

Я пытаюсь создать документацию из моего приложения Springboot с помощью Spring doc, это некоторые из атрибутов класса, которые вызывают у меня проблемы:

public class user {

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dateOfBirth;

}

С аннотацией Spring doc в чванстве я получил это:

строка dateOfBirth*($дата-время)

ДатаРождения: 2020-04-29T14:15:32.475Z

пока я хотел бы иметь это:

строка dateOfBirth*($date)

ДатаРождения: 2020-04-29

Как это сделать? Я думаю, что близок к решению, но я не могу понять, что мне не хватает


person Zhaled Asufian    schedule 30.07.2020    source источник
comment
Как всегда, я бы рекомендовал использовать LocalDate или LocalDateTime вместо даты объекта, когда это возможно :)   -  person RUARO Thibault    schedule 30.07.2020


Ответы (1)


Я думаю, что ответ, который вы ищете, находится здесь: поле даты swagger против даты-времени поле

Date — это объект DateTime для чванства, поскольку на самом деле это объект DateTime. Используйте соответствующий тип, например LocalDate, они знают, как с этим справиться.

Кстати, как вы ожидаете, что Swagger правильно преобразует шаблон даты в соответствующий тип? Это как слишком много магии. Swagger опирается на то, что является общепринятой практикой.

JSONFormat не изменит то, как чванство интерпретирует ваши данные.

person RUARO Thibault    schedule 30.07.2020