Swagger-codegen применение "обязательных" полей в определениях

у меня есть эти поля, отмеченные как требуется в моем файле yaml (спецификация swagger)

  MyType:
    type: object
    required:
      - name
      - amount

Я использую плагин swagger codegen maven с этими конфигурациями:

<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.2.3</version>

<language>spring</language>
<library>spring-mvc</library> 

Я хотел бы, чтобы обязательные поля в спецификации также были обязательными в сгенерированных классах. Но в настоящее время этого не происходит.

существуют ли параметры конфигурации для этого? У меня <useBeanValidation>true</useBeanValidation> но это, похоже, не работает для меня.

Я видел аналогичный запрос применение" обязательных " полей в определениях на странице Swagger-codegen GitHub, где предлагалось использовать useBeanValidation и у меня есть, но он все еще не работает.

создал этот запрос на странице Swagger-codegen GitHub:Swagger-codegen принудительное применение "обязательных" полей в сгенерированных классах моделей

1 ответов


нашел решение. На самом деле это была моя ошибка; я ожидал поле в сгенерированном классе, который необходимо отметить. Это скорее геттер метод, который аннотируется @NonNull и required = true решает цель. И теперь с проверкой на месте, я могу видеть, что проверка запускается и показывает сообщение Amount should be present когда сумма не передается в полезной нагрузке запроса.

@ApiModelProperty(required = true, value = "Amount should be present")
@NotNull
public Amount getAmount() {
    return amount;
}