Swagger - 调用返回文件的服务无法正常工作

时间:2016-04-26 13:26:16

标签: rest swagger swagger-ui enunciate

我遇到类似于herehere所述的问题。我有一个服务,它返回一个pdf文件作为附件Content-Disposition标题。当我从浏览器调用端点时,这可以工作 - 文件已下载。在Swagger UI上,我在调用响应内容类型为application/pdf的服务后获得了一个下载链接,但是该链接会下载一个空的pdf文件:

enter image description here

请注意,我的swagger.json是由Enunciate(版本2.3.0)生成的,相关部分如下所示:

"responses": {
  "200": {
    "schema": {
    "description": "",
    "$ref": "#/definitions/json_File"
  }, ...

我尝试在此添加"type": "file",但它没有解决问题。这里可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

您可以将响应的返回类型(200)记录为二进制(格式):

  responses:
    '200':
      description: successful operation
      schema:
        type: string
        format: binary

根据规范,"二进制" (格式)指"任何八位字节序列 "

参考:https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types