我的 Swagger 规范中有一个其他定义的枚举:
"action": {
"title": "Action",
"description": "Action to apply to matching requests",
"type": "object",
"enum": [
{"delayAction": {"$ref": "#/definitions/delayAction"}},
{"abortAction": {"$ref": "#/definitions/abortAction"}},
{"traceAction": {"$ref": "#/definitions/traceAction"}}
]
}
和
delayAction
、abortAction
和 traceAction
均已定义。
但在 Swagger UI 中,
action
的模型为空。
如何修改 Swagger 定义,以便 Swagger UI 可以在模型中显示
action
的定义?
我认为枚举只能定义为对象文字。 看看这个例子,它似乎用一个例子很好地解释了。
ChartFormat:
type: object
description: chart info
properties:
chartMode:
oneOf:
- $ref: '#/components/schemas/NumberMode'
- $ref: '#/components/schemas/BarChartMode'
- $ref: '#/components/schemas/LineChartMode'
- $ref: '#/components/schemas/PieMode'
使用 oneOf 关键字