我试图定义的请求体的一部分有一个“filters”字段,它是一个正好由3个字符串组成的数组。
其中两个字符串来自枚举(不同的枚举列表)。
我试过oneOf
和anyOf
,但我不认为它们是正确的。allOf
选项对我来说很困惑,但我确实希望item
列表中的“所有”项目显示一次。
filter:
type: array
uniqueItems: true
items:
allOf:
- title: item 1
type: string
enum:
- option A
- option B
- title: item 2
type: string
enum:
- option C
- option D
- title: item 3
type: string
字符串
当我渲染这个时,我得到一个枚举,包括选项A-D,我只能选择其中之一。
1条答案
按热度按时间x6yk4ghg1#
如果你想在一个特定的索引中的项目,OAS 3.0.x不允许一个项目数组,因为OAS规范修改了他们的JSON模式草案04规范的定义。它只允许
items
是一个对象。如果您同意使用OAS 3.1.0,以下内容适用于特定索引中定义的项。这是基于JSON Schema 2020-12,与OAS 3.1.0完全兼容
字符串
// {"filter": [ "option A", "option C", "test"]}
个