Swagger:描述字符串数组,其中元素是一组特定值的子集

Swagger: describe string array where elements are subset of a specific set of values

我有以下 JSON:

{ "animals": ["tiger", "bear"] }

动物数组可以是集合的任意子集

["tiger", "lion", "elephant", "wolf", "fox", "bear", "zebra"]

但不能包含任何其他元素。以下语法是有限的,因为我丢失了有关元素可能具有的值的所有信息:

{
    "description":"wild animals",
    "type": "array",
    "items": {
        "type": "string"
    }
}

有什么办法可以描述这个吗?还是我应该在描述中记录它?

谢谢。

您可以为它定义一个枚举。所以你的定义将如下所示

"WildAnimals": {
    "description":"wild animals",
    "type": "array",
    "items": {
        "$ref": "#/definitions/Animal"
    }
},
"Animal": {
    "type": "string",
    "enum": ["tiger", "lion", "elephant", "wolf", "fox", "bear", "zebra"]
}