我正在使用SwaggerHub以OpenApi v3语言描述API。
我正在尝试描述一个字典数据模型,其中的键是一个字符串,可以是一些固定值(枚举),而值是一个对象。
我的输出示例希望是:
{
"array": {
"done_log_in": {
"mytype": "discount",
"myvalue": 10
},
"done_log_out": {
"mytype": "discount",
"myvalue": 5
}
}
}
所以我指的是本文档here。
我这样定义模式:
schema:
type: object
properties:
array:
type: object
properties:
default:
type: string
enum:
- done_log_in
- done_log_out
required:
- default
additionalProperties:
type: object
properties:
mytype:
type: string
myvalue:
type: string
但是SwaggerHub根据我的描述创建的示例如下:
{
"array": {
"default": "done_log_in",
"additionalProp1": {
"mytype": "string",
"myvalue": "string"
},
"additionalProp2": {
"mytype": "string",
"myvalue": "string"
},
"additionalProp3": {
"mytype": "string",
"myvalue": "string"
}
}
}
所以我认为我对Swagger文档中有关字典描述的解释有些错误。
我的最后一个问题是: 如何用OpenAPI V3语言描述必须用作字典键的字符串值列表?