Swagger标题定义

时间:2016-10-24 16:42:58

标签: swagger swagger-ui swagger-2.0

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

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'

2 个答案:

答案 0 :(得分:5)

根据Swagger / OpenAPI规范,您无法做到。 Definitions必须包含Schema Objects,并且这些属性不允许任意属性,而是JSON模式的特定子集(请参阅the link)。

您可以定义Response Object并引用它,因为Swagger Object具有全局responses属性。标题没有这样的东西。反正不是在这个时候。要求这样的功能可能是值得的。

答案 1 :(得分:2)

我遇到了同样的问题。在他们宣布的文件中;

  

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

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