我们使用spring控制器来处理文件上传:
例如:
@RequestMapping(value = "/scan", method = RequestMethod.POST, consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
public ScanResult scan(HttpServletRequest request) throws IOException, FileUploadException {
return scanService.scanFile(parseMultipart(request));
}
但是我们没有使用任何多部分解析器,我们正在从servlet请求输入流中流式传输文件。
当这样做的时候,我们似乎不能使用典型的多部分文件的检测/配置。我知道Springfox(我们用来生成swagger文档)会生成适当的swagger控件,如果它把一个MultipartFile作为一个控制器参数,这对我们来说不是这样的。
是否有其他配置选项可以提示springfox我们希望在这里上传文件?
3条答案
按热度按时间qlzsbp2j1#
关于Springfox v2.7.0中的突破性变更:
您需要使用
dataType = "__file"
,而不是https://github.com/springfox/springfox/issues/1285中注解的file
ykejflvf2#
在这里找到了我的答案:https://github.com/springfox/springfox/issues/1285
下面的隐式参数给予了我所需要的:
这给API添加了一个简单的文件选择器。为了让事情更混乱,我发现这个功能在Springfox 2.4中被破坏了--我正在使用的版本。添加注解和更新版本是我所需要做的。
zpgglvta3#
没错https://stackoverflow.com/a/44385675/3810914
在控制器中,它应该是:
在模型中: