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;
}