模式注释不会在使用开放 API 生成器的 int64 招摇上生成



我使用swagger 2并打开api 5.3.1生成器来生成一些类。目前,它似乎没有在Long(在swagger中定义为int64(上生成模式注释。我该怎么做?

招摇:

id:
type: integer
format: int64
pattern: '^d{16,19}$'
minLength: 16
maxLength: 19

代码生成

@javax.annotation.Nonnull
@NotNull
@ApiModelProperty( required = true, )
@JsonProperty(JSON_PROPERTY_ID)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public Long getId() {
return id;
}

pattern关键字允许您为字符串值

它不支持Integer/Long


https://swagger.io/docs/specification/data-models/data-types/#pattern

文件说明:

pattern关键字允许您为字符串值。只有与此模板匹配的值才会已接受。使用的正则表达式语法来自JavaScript(更多特别是ECMA 262(。正则表达式区分大小写,即即[a-z]和[a-z]是不同的表达式。例如以下模式与123-45-6789格式:

ssn:
type: string
pattern: '^d{3}-d{2}-d{4}$'

请注意,正则表达式包含在^…$标记中,其中^表示字符串的开头,$表示一串如果没有^…$,pattern将作为部分匹配工作,也就是说,匹配包含指定正则表达式的任何字符串。对于例如,图案:宠物匹配宠物,宠物商店和地毯。^…$代币强制进行精确匹配。

对于数据类型integer,它看起来像:

type: integer
format: int64
minimum: -86400
maximum: 86400

要澄清最小值/最大值:

最小值和最大值使用最小和最大关键字指定可能值的范围:

type: integer
minimum: 1
maximum: 20

默认情况下,最小值和最大值都包含在范围内,即:

minimum ≤ value ≤ maximum

若要排除边界值,请指定exclusiveMinimum:true和exclusiveMaximum:true。例如,您可以定义浮点数字范围为0–50,不包括0值:

type: number
minimum: 0
exclusiveMinimum: true
maximum: 50

exclusiveMinimum和exclusiveMaximum中的单词"exclusive"表示排除相应的边界:关键字描述exclusiveMinimum:错误或未包含值≥最小值exclusiveMinimum:真值>minimum exclusiveMaximum:是否为falseincluded value≤maximum exclusiveMaximum:真值<最大

最新更新