swagger文件上传显示却是query类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swagger文件上传显示却是query类型相关的知识,希望对你有一定的参考价值。

参考技术A 版本不同导致上传改变了文件类型。
因为Springfox-Swagger针对不同的版本,某些版本也会出现此问题,为一劳永逸,SwaggerBootstrapUi特别指定需要强指定dataType类型为MultipartFile。
Swagger的目标是对RESTAPI定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过Swagger进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger消除了调用服务时可能会有的猜测。

Swagger Editor OpenAPI 3 上的文件上传在尝试时未显示文件浏览器

【中文标题】Swagger Editor OpenAPI 3 上的文件上传在尝试时未显示文件浏览器【英文标题】:File upload on Swagger Editor OpenAPI 3 not showing the file browser when trying it out 【发布时间】:2018-07-14 09:30:18 【问题描述】:

我正在使用带有 OpenAPI 3.0 的 Swagger 编辑器。我需要记录一条包含上传图片的路线。尝试“试用”时,我没有让文件浏览器在请求正文中选择要上传的图像,我得到的只是一个带有参数名称和类型的 JSON 字符串。

这是路由的 YAML 描述:

openapi: 3.0.0
...
paths:
  /media/upload/thumbnail:
    post:
      tags:
        - media
        - publications
      security:
        - bearerAuth: []
      summary: upload a kid's publication
      operationId: uploadPublication
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                upload:
                  type: string
                  format: binary
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ObjectId of the uploaded file in db (original size)
                    example: 5a6048b3fad06019afe44f24
                  filename:
                    type: string
                    example: myPainting.png
                  thumbnail:
                    type: string
                    description: ObjectId of the uploaded file in db (thumbnai size)
                    example: 5a6048b3fad06019afe44f26
        '400':
          description: Authentication failed

我在这里缺少什么?

【问题讨论】:

【参考方案1】:

你的定义是正确的。

在 Swagger Editor 3.5.7 和 Swagger UI 3.16.0 中添加了对 OpenAPI 3.0 定义中的 multipart/form-data 请求的文件上传支持。确保您使用的是支持文件上传的版本。

【讨论】:

【参考方案2】:

试试

content:
          image/png:
            schema:
              properties:
                file:
                  type: string
                  format: binary

【讨论】:

以上是关于swagger文件上传显示却是query类型的主要内容,如果未能解决你的问题,请参考以下文章

Swagger Editor OpenAPI 3 上的文件上传在尝试时未显示文件浏览器

Abp中SwaggerUI的接口文档添加上传文件参数类型

如何从swagger上传文件到流?

在jsp文件中的out.println(中文),在网页上中文显示的却是乱码和问号,怎样解决?

.Net Core小技巧 - 使用Swagger上传文件

为啥我上传照片总显示 该文件类型不允许上传,请选择Png,gif类型文件,当前文件为12