我使用的是swagger 2.0,我有一个这样的定义
definitions:
User:
required:
- name
- skills
properties:
name:
description: 'Donald Smith'
type: string
skills:
type: array
items:
type: string
minLength: 1
名称和技能是必需的,它只能接受字符串,但是我试图验证空字符串,基本上名称不应该是空的,技能数组应该包含至少一个字符串值。然而,swagger默认情况下不验证,我尝试使用模式'^[a-zA-Z]+$'作为名称和minLength为数组,但它不工作。
要控制数组中允许的值的数量,可以使用这些字段:
minItems: 1
maxItems: 10
没有minItems: 1
的空数组被认为是有效的。
参见"数组长度"https://swagger.io/docs/specification/data-models/data-types/#array
为了验证name字段非空,您需要添加:
minLength: 1