Можем ли мы сгенерировать @JsonFormat для переменной модели, используя swagger-generater? - PullRequest
1 голос
/ 30 марта 2019

У меня есть переменная в файле yml

startDate:
 type:string
 format:date

Я использую swagger-generater для генерации java-кода из yml.

Он генерирует переменную startDate, как показано ниже

@JsonProperty("startDate")
private LocalDate startDate = null; 

Но мне нужно, как показано ниже

@JsonProperty("startDate")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate startDate = null; 

Может ли кто-нибудь помочь мне в этом?

1 Ответ

1 голос
/ 30 марта 2019

Проблема здесь в том, что вы пытаетесь сериализовать Java 8 LocalDate, используя @JsonFormat без использования правого модуля / зависимости Джексона. Если вы посмотрите документ аннотации, он говорит:

Обычное использование включает выбор между альтернативными представлениями - для пример, должна ли Дата быть сериализована как число (временная метка Java) или String (например, значение времени, совместимое с ISO-8601), а также настройка точных деталей с помощью свойства pattern ().

В проекте swagger codegen нет надлежащей документации о том, как указывать параметры конфигурации для конкретного языка, я только видел эти параметры конфигурации в следующем билете;

https://github.com/swagger-api/swagger-codegen/issues/7795

В соответствии с этой проблемой вы можете заставить Swagger codegen использовать java8 dateLibrary.

...