我想模拟一个模式,其中response是字典词典:
{
'id1': {
'type': 'type1',
'active': true,
},
'id2': {
'type': 'type2',
'active': false,
},
...
...
}
我定义了:
components:
schemas:
accountData:
type: object
required:
- type
- active
properties:
type:
type: string
active:
type: boolean
accounts:
type: object
additionalProperties:
type: object
properties:
account-id:
type: object
$ref: '#/components/schemas/accountData'
现在我要定义'#/ components / schemas / accounts',它是'#/ components / schemas / account'的重复字典。
我是OpenApi 3的新手,我无法弄清楚如何做到这一点。
答案 0 :(得分:1)
你快到了。 additonalProperties
中指定的模式对应于<key, value>
字典中的值类型。在您的示例中,值为accountData
个对象,因此您应该使用:
components:
schemas:
...
accounts:
type: object
additionalProperties:
$ref: '#/components/schemas/accountData'