swagger UI 中的对象枚举?

问题描述 投票:0回答:2

我的 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
的模型为空。

enter image description here

如何修改 Swagger 定义,以便 Swagger UI 可以在模型中显示

action
的定义?

swagger swagger-ui swagger-2.0
2个回答
0
投票

我认为枚举只能定义为对象文字。 看看这个例子,它似乎用一个例子很好地解释了。

https://community.smartbear.com/t5/Swagger-Open-Source-Tools/Enum-of-defined-objects/m-p/198117/highlight/true#M988


0
投票
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 关键字

© www.soinside.com 2019 - 2024. All rights reserved.