【问题标题】:Swagger header definitionsSwagger 标头定义
【发布时间】:2016-10-24 16:42:58
【问题描述】:

我似乎无法找到是否可以声明一个标头对象以便在响应标头中重用它,有一些示例为响应模式定义对象,但它不会转换为响应标头。我只设法制作了一个像这样的可重用响应对象:

responses:
  DownloadOk:
    description: Dowload Ok
    headers:
      Content-Length:
        description: response length
        type: integer 
      Document-Length:
        description: document length
        type: integer 

但正如我所说,我只想保留标题部分。

这是我想使用它的地方:

responses:
    200:
      description: Dowload Ok
      headers:
        $ref: '#/definitions/DowloadOk'

【问题讨论】:

    标签: swagger swagger-ui swagger-2.0


    【解决方案1】:

    根据 Swagger/OpenAPI 规范,您不能。 Definitions 必须包含 Schema Objects,并且不允许任意属性,而是 JSON Schema 的特定子集(参见 the link)。

    您可以定义Response Object 并引用它,因为Swagger Object 具有全局responses 属性。标题没有这样的事情。反正现在不是。请求这样的功能可能是值得的。

    【讨论】:

    • 我确实尝试了子集,但它不起作用。标题:文档长度:$ref:'#/definitions/DowloadOk'
    【解决方案2】:

    我也遇到过同样的问题。在他们声明的文件中;

    请注意,目前,OpenAPI 规范不允许为不同的响应代码或不同的 API 操作定义通用响应头。您需要为每个响应单独定义标头。

    请参阅Describing Responses 上的响应标头部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 2017-07-09
      • 2018-08-05
      相关资源
      最近更新 更多