我有 2 个模式和一个例子。我想用下拉菜单更改请求正文。
实际上一切都正常。我有显示示例的列表,并且仅当我将它们写为“值”时,RequestBody 中的值才会更改。 如果我将示例指定为 ref,则会加载第一个示例,但当下拉列表中的值发生更改时,不会显示第二个示例。
这只是没有实现,这是一个错误还是我做了什么/配置了错误?
以及配置示例:
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{"$ref": "#/components/schemas/reportexample1"},
{"$ref": "#/components/schemas/reportexample2"}
]
},
"examples": {
"reportexample1": {
"summary": "reportexample1",
"$ref": "#/components/schemas/reportexample1"
},
"reportexample2": {
"summary": "reportexample2",
"$ref": "#/components/schemas/reportexample2"
}
}
}
}
},
......
"components": {
"schemas": {
"reportexample1": {
"type": "object",
"properties": { .... }
},
"reportexample2": {
"type": "object",
"properties": { .... }
}
}
}
您可以尝试直接在示例部分定义示例,而不是使用 $ref 引用它们。
类似这样的:
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{"$ref": "#/components/schemas/reportexample1"},
{"$ref": "#/components/schemas/reportexample2"}
]
},
"examples": {
"reportexample1": {
"summary": "reportexample1",
"value": {
// Provide the actual example value for reportexample1 here
"property1": "value1",
"property2": "value2"
}
}
}
}
}
}