如何使用 swagger-ui(springfox-swagger2 和 springfox-swagger-ui)和 spring-boot 应用程序上传多个文件?

Pat*_*ick 7 swagger-ui spring-boot swagger-2.0 springfox

我必须从 swagger 上传 MultipartFile 类型的多个文件来测试我的 api。邮递员确实允许上传,但是,同样的事情在 swagger 中不起作用。

多部分文件列表的代码:

@ApiParam(name = "file", value = "Select the file to Upload", required = true, allowMultiple=true) 
@RequestPart(value = "file", required = true) List<MultipartFile> file
Run Code Online (Sandbox Code Playgroud)

用于多部分文件列表的工作 curl 命令:

curl -X POST "http://localhost:8080/test" -H "accept: */*" -H "Content-Type: multipart/form-data" -F "file=@example1.pdf;application/pdf;" -F "file=@example2.pdf;application/pdf;" -F "jsonString={}"
Run Code Online (Sandbox Code Playgroud)

单个多部分文件也可以像这样在 swagger 中工作:

@ApiParam(name = "file", value = "Select the file to Upload", required = true, allowMultiple=true) 
@RequestPart(value = "file", required = true) MultipartFile file
Run Code Online (Sandbox Code Playgroud)

依赖:

<!-- swagger -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

小智 0

检查这个链接,我们现在不能...swagger 不支持这个东西,检查下面的链接

https://github.com/springfox/springfox/issues/1072

,您可以使用邮递员,只需选择密钥作为文件类型并选择多个文件。它可以工作。