Переопределение представления LocalTime в springdoc

Столкнулся с проблемой представления LocalTime в swagger(использую springdoc).

To, что было изначально:

Dto, где возникла проблема:

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SessionDto {

    private Long sessionID;

    private Long filmID;

    private Long chatID;

    private Long organizerID;

    private LocalTime stopTime;

}

Начальное представление этого dto в swagger:

начальное представление этого dto в swagger

После прочтения этого issue мне удалось избавиться от объектного представления LocalTime. Для этого я создал такую конфигурацию:

@Configuration
public class SwaggerConfig {
    static {
        SpringDocUtils.getConfig().replaceWithClass(LocalTime.class, String.class);
    }
}

Представление dto после добавления конфигурации:

представление dto после добавления конфигурации

Но кроме всего этого, я хочу, чтобы вместо "string" в качестве примера значения поля stopTime отображалось что-то типа "00:00:00"(В идеале текущее время). Возможно ли это сделать?


Ответы (1 шт):

Автор решения: Anton Kolesov

Решил проблему следующим конфигом:

@Configuration
public class SwaggerConfig {
    static {
        var schema = new Schema<LocalTime>();
        schema.example(LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss")));
        SpringDocUtils.getConfig().replaceWithSchema(LocalTime.class, schema);
    }
}
→ Ссылка