Как сделать поле enum необязательным в плагине Swagger Codegen Maven?
TL; DR: проблема, похоже, в том, что поле swagger должно быть обязательным, если оно является enum (в отличие от полей enum java). Мне интересно, есть ли способ сделать это необязательным
Я использую swagger для создания некоторого интеграционного API из файлов yaml
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.3.1</version>
(по умолчанию в плагине используется реализация Gson для работы с json)
В одном из файлов yaml у меня есть описание запроса с полем, которое описывается так
...
definitions:
MyRequest:
type: object
required:
- field1
- field2
properties:
myEnumField:
type: string
enum:
- A
- B
- C
Или посмотрите, например, документацию.
Для этого swagger генерирует общедоступный статический класс Adapter (по умолчанию реализация Gson используется в плагине для работы с json, поэтому этот адаптер расширяет com.google.gson.TypeAdapter). И эта реализация запрещает оставлять это поле пустым (в противном случае происходит сбой с NPE во время выполнения).
Я хочу разрешить необязательные поля перечисления для всех файлов yaml или, по крайней мере, для указанных.
заранее спасибо