我正在使用遵循以下模式的API:
...项目:{ random-1:{...,键入:“产品/图片”} random-2:{...,键入:“产品/名称”} random-3:{...,键入:“产品/说明”} }
我想为“项目”创建一个架构,以动态选择合适的架构(图像,名称,描述)。我以为可以结合使用additionalProperties
和oneOf
:
items:
type: object
additionalProperties:
$ref: '#schemas/components/product/abstract/attribute'
abstract/attribute:
type: object
required:
- type
properties:
type:
type: string
example: product/image
discriminator:
propertyName: type
product/image:
allOf:
$ref: #/components/schemas/abstract/attribute
type: object
required:
- src
properties:
src:
type: string
.. etc for product/name and product/description ...
我不确定1)用招摇是否还可以,2)如果可以,我在哪里声明oneOf
?最初,我认为我需要枚举items
另外的属性中的所有架构,但这似乎是无效的。