openapi代码生成器-使用@Digits代替@DecimalMax / @DecimalMin

时间:2019-04-06 19:36:00

标签: java spring-boot bean-validation bigdecimal openapi-generator

下面是我的字段num1,在这里我总是只需要2位数字,因此我在合同中使用了minimummaximum约束。

properties:
  num1:
    type: number
    minimum: 10.01
    maximum: 50.99

我在生成代码时启用了useBeanValidation选项。因此,上面的openapi字段num1生成BigDecimal java映射,如下所示:

@Valid
@DecimalMin("10.01") @DecimalMax("50.99") 
  public BigDecimal getNum1() {
    return num1;
  }

因此,我希望10.45有效,而10.451无效。但是,10.451被视为有效。我了解,从逻辑上讲10.451是有效的,因为它大于minimum的值。

我发现@Digits提供了预期的行为,但是我需要一些帮助来配置openapi-generator-maven-plugin (v 3.3.1)以使用@Digits注释而不是@DecimalMin / @DecimalMax注释。有人遇到这种问题吗?

下面是我的config optionsopenapi-generator-maven-plugin

<configOptions>
  <interfaceOnly>true</interfaceOnly>
  <dateLibrary>java8-localdatetime</dateLibrary>
  <sourceFolder>openapi</sourceFolder>
  <useBeanValidation>true</useBeanValidation>
  <performBeanValidation>true</performBeanValidation>
  <bigDecimalAsString>true</bigDecimalAsString>
</configOptions>

0 个答案:

没有答案