我想为数组内的字符串发布一个字符串数组,最小项为 2,最大长度为 50。 我这样设置我的招摇:
"values":{
"desciption":"values of file",
"type":"array",
"items":{
"type":"string",
"maxLength": 50
},
"minItems": 2
}
但是由于某种原因,在代码生成中,它只采用最小项而不考虑最大长度我可以键入 50+ 个字符并且它通过了
我发现您在 yml 中的定义是正确的,甚至代码也没有正确生成。因此,我建议为此提出一个单独的错误,这也将帮助其他用户。
甚至有一些错误不起作用,例如minItems: and maxItems:
同一列表不限制或代码未生成不会自动用于此行为。 @Size(最小=2,最大=4(,即
values:
description: values of file
type: array
items:
type: string
maxLength: 20
minItems: 2
maxItems: 4
所以我建议你通过给定的链接提出一个单独的错误: https://github.com/OpenAPITools/openapi-generator/issues/new?assignees=&labels=Issue%3A+Bug&template=bug_report.md&title=%5BBUG%5D+Description
至少有两个不同的未解决的问题与此问题相关(假设您要生成 java 代码(:
https://github.com/OpenAPITools/openapi-generator/issues/10026 https://github.com/OpenAPITools/openapi-generator/issues/4947
即使是 swagger-api 代码生成器 (https://github.com/swagger-api/swagger-codegen( 也确实存在同样的问题。
恕我直言,一切都归结为胡须模板和无法使用 BeanValidation 2.0 功能的底层 Java 代码的问题,例如:
https://beanvalidation.org/2.0/spec/#constraintdeclarationvalidationprocess-containerelementconstraints
List<@NotNull @Size(max=20) String> searchTerms