Как сделать поле 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 или, по крайней мере, для указанных.

заранее спасибо

0 ответов

Другие вопросы по тегам