如何解决Swagger生成的模型没有验证
我们在应用程序中使用了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编辑器演示(OAS v2.0,OAS v3.0,生成Java客户端)
- swagger-codegen-maven-plugin示例(Java 11,OAS v2.0)
我们现在正在针对Java 11进行构建,但是在先前的版本中,我们使用了Java8。我们已经对OAS v2.0进行了测试,现在已经升级到OAS v3.0。
基于这个Github问题,这些尝试都没有成功,即使看起来应该有效果,也暗示着验证适用于Java:https://github.com/swagger-api/swagger-codegen/issues/2663。
在最后两个测试中,我向各种属性添加了一个最大值和模式,构建了项目或生成了Java客户端,并在其中一个模型(用于剪裁的Order.java)中看到了这一点:{{ 3}}。
同一问题反映在我们的代码中,我们的规范基于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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。