我使用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:真值<最大