reference - 是否可以定义参数集并引用它?

标签 reference swagger swagger-2.0

我有多个要引用的参数,但不想一一指定。

此代码段不会显示参数:

{
    ...
    "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"
        }
      ]
    }
  }
}

关于reference - 是否可以定义参数集并引用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949594/

相关文章:

c++ - 引用变量/指针和类成员的问题 [C++]

javascript - 有没有办法在 swagger-ui 3.* 中只呈现特定的 api 端点?

django - 在使用 Django Rest Framework (DRF) 编写基于类的 View (CBV) 时,使用 GenericAPIView 还是基本 APIView 更好?

perl 不能使用字符串作为数组引用

c++ - 为什么我可以为引用分配新值,以及如何使引用引用其他内容?

azure - 服务结构: packaging code error: missing required references

jax-rs - 使用 swagger 的注释在 Swagger UI 中显示 XML/JSON 示例值

java - Swagger POST 返回 403 Forbidden Spring boot Spring security

swagger - 如何从swagger grpc生成的代码中排除字段

jsonschema - 开放 API 规范 JWT - 子路径没有安全性