我正在使用ReDoc使用OpenAPI 2(Swagger)JSON文件可视化API文档 . 我试图通过将第一个模式包含在第二个模式中来声明两个请求输入参数,如下所示:
...
"definitions": {
"list-request": {
"type": "object",
"properties": {
"token":{
"type": "string",
"format": "access-token",
"required": true
},
"userId":{
"type": "integer",
"required": true,
"format": "int32"
},
"mode": {
"type": "string",
"required": false,
"default": "lite",
"enum": [
"lite",
"detailed"
]
},
... // other peroperties
},
"xml": {
"name": "list-request"
}
},
"list-request-lite":{
"$ref": "#/definitions/list-request",
"properties":{
"mode": {
"type": "string",
"required": false,
"enum": ["lite"]
}
}
},
...
}
但它不起作用 - list-request-lite
架构只显示 mode
属性,并且不包含任何 list-request
架构属性 . 我究竟做错了什么?
1 回答
您需要
allOf
将$ref
与其他属性组合在一起 .此外,需要在架构级别的
required
数组中列出所需的属性 . 单个属性没有required
属性 .