我正在为以下XML有效负载构建一个OpenAPI(Swagger)2.0定义,以在Swagger UI中使用:
<addressElement>
<key type="RECORD_ID" item="3">Enter value here</key>
</addressElement>
我在解决如何显示元素key
的默认值“在此处输入值”时遇到问题。这个默认值在OpenAPI定义中的什么位置?我的定义如下:
"definitions": {
"addressElement": {
"type": "object",
"title": "Address Element",
"properties": {
"key": {
"type": "object",
"properties": {
"type":{
"type": "string",
"example": "RECORD_ID",
"xml":{
"attribute": true
}
},
"item":{
"type": "integer",
"format": "int64",
"example": "3",
"xml":{
"attribute": true
}
}
}
},
},
"xml": {
"name": "addressElement"
}
}
}
答案 0 :(得分:0)
当前这是不可能的,因为OpenAPI无法使用诸如这样的属性来表示XML元素
<key type="RECORD_ID" item="3">Enter value here</key>
只能为对象定义属性
<obj attr="value">
<elem>Some text</elem>
</obj>
但不适用于简单的<elem>text</elem>
元素。
这里有一个关于此限制的公开问题:
How to represent XML elements with attributes
也就是说,OpenAPI规范维护者正在考虑使用alternative data modeling schemas(例如XSD Schema)的选项,因此OpenAPI的未来版本可能会支持您的用例。