0

我们在我们的应用程序中使用 Camel,所以我最初认为这是 Camel 插件的问题,但这是我用 Java 和 OAS 版本测试过的:

  • camel-restdsl-swagger-plugin(Java 8、Java 11、OAS v2.0)
  • camel-restdsl-openapi-plugin (Java 11, OAS v3.0)
  • swagger-codegen-maven-plugin (Java 11, OAS v3.0)
  • Swagger Editor Demo(OAS v2.0、OAS v3.0、生成Java客户端)
  • swagger-codegen-maven-plugin 示例(Java 11,OAS v2.0)

我们现在正在针对 Java 11 进行构建,但在之前的版本中我们使用了 Java 8。我们已经使用 OAS v2.0 进行了测试,现在我已经升级到了 OAS v3.0。

这些尝试都没有奏效,尽管它们似乎应该有,基于这个 Github 问题,暗示验证适用于 Java:https ://github.com/swagger-api/swagger-codegen/issues/2663 。

在最后的 2 次测试中,我为各种属性添加了最大值和模式,构建了项目或生成了 Java 客户端,并在其中一个模型中看到了这一点(Order.java 为 snip):https:// pasteboard .co/JlVTLtL.png

同样的问题反映在我们的代码中,我们的规范基于 Swagger 编辑器是有效的。我刚刚将我们的规范放到了编辑器中。

如何让验证显示出来?我无法粘贴整个规范,但这是我们其中一个模型的编辑部分。这些验证都没有在代码中强制执行。最大值和最小值出现在评论中,并且从未提及该模式。

AnExample:
      description: >
        The cow goes moo
      type: object
      properties:
        id:
          description: >
            Uniquely identify the cow
          type: string
          pattern: "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[0-9a-dA-D][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000"
        height:
          description: >
            How tall the cow is, counted in beagles
          type: number
          format: int64
          minimum: 1
          maximum: 60
4

0 回答 0