3

我使用 Spring Boot 和集成的 swagger-ui (springfox-swagger2),我希望能够选择一次上传多个文件。不幸的是,Swagger UI 似乎不允许这样做,至少不给我的控制器方法。

我的控制器方法签名:

@ApiOperation(
    value = "batch upload goods cover image", 
    notes = "batch upload goods cover image",
    response = UploadCoverResultDTO.class,
    responseContainer = "List"
)
public Result<?> uploadGoodsCover(@ApiParam(value = "Image array", allowMultiple = true,
  required = true) @RequestPart("image") MultipartFile[] files) throws IOException {

Swagger UI 生成: 在此处输入图像描述

但我期待一个类似于这样的用户界面: 在此处输入图像描述

一次选择一个文件夹中的所有图片比一次选择一张更方便,例如:

<input type="file" name="img" multiple="multiple"/> 

springfox-swagger2 支持这个吗?如果是这样,我需要进行哪些更改?

4

1 回答 1

3

更新:正如@Helen 所指出的,现在 Swagger 3.26.0 和 OpenAPI 3 支持这一点,并且应该在 Springfox 3 的下一个版本中

Springfox 2:不幸的是,答案是否定的。

Springfox Swagger2 不支持此功能,因为 Swagger 尚不支持:https ://github.com/springfox/springfox/issues/1072

相关 Swagger 问题:
https ://github.com/swagger-api/swagger-ui/issues/4600 (在 3.26.0 中修复)
https://github.com/OAI/OpenAPI-Specification/issues/254

于 2018-09-25T04:49:27.170 回答