我有多个要引用的参数,但我不想一一指定。
此代码段不会显示参数:
{
...
"paths": {
"/stuff": {
"get": {
"description": "Gets stuff",
"operationId": "getStuff",
"parameters": {
"$ref": "#/definitions/set1"
}
}
}
},
"parameters": {
"a": {
"name": "a",
"in": "query",
"description": "Param A",
"required": false,
"type": "string"
},
"b": {
"name": "b",
"in": "query",
"description": "Param B",
"required": false,
"type": "string"
}
},
"definitions": {
"set1": [
{
"$ref": "#/parameters/a"
},
{
"$ref": "#/parameters/b"
}
],
"set2": ...
}
}
这是否可行,还是我必须set1
为每个请求指定每个参数,例如?
实际上,这不是一个有效的定义,正如您所建议的那样,您必须通过引用全局参数来分别指定每个参数。如果您的参数对于特定路径下的所有操作都是共享的,则可以在路径级别定义这些参数,并将其应用于所有操作。
对于单个操作,您可以将其定义为:
"paths": {
"/stuff": {
"get": {
"description": "Gets stuff",
"operationId": "getStuff",
"parameters": [
{
"$ref": "#/parameters/a"
},
{
"$ref": "#/parameters/b"
}
]
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句