В OpenApi (Swagger 3.0) Codegen отсутствуют проверки - PullRequest
1 голос
/ 21 сентября 2019

У меня есть основная проблема с плагином 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-коде, и мне интересно, почему его нет в коде моего чванства.

Спасибо, Навид

...