У меня есть основная проблема с плагином openapi maven codegen.В коде, сгенерированном Java, отсутствует аннотация валидации (maxLength, pattern).
Вот мой pom:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>2.0.9</version>
</dependency
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.11</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/customer-service-api.yaml</inputSpec>
<output>${project.build.directory}/generated-sources</output>
<modelPackage>${default.package}.customer.model</modelPackage>
<generateModels>true</generateModels>
<generateApis>false</generateApis>
<generateApiTests>false</generateApiTests>
<generateSupportingFiles>false</generateSupportingFiles>
<language>java</language>
<library>resttemplate</library>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
, а это мой чванство:
name:
type: object
properties:
firstName:
type: string
pattern: "^[A-Z]{1,50}$"
maxLength: 50
Теперь сгенерированный файл Java:
public class Name {
@JsonProperty("firstName")
private String firstName = null;
@JsonProperty("middleName")
private String middleName = null;
@JsonProperty("lastName")
private String lastName = null;
Я ожидаю, что RegularExpression для атрибутов.Итак, я смогу проверить свой Java-объект с помощью валидатора Java.
Он работает в RAML и сгенерированном Java-коде, и мне интересно, почему его нет в коде моего чванства.
Спасибо, Навид