今天写了一个多文件上传的接口,但是在swagger文档里面,一直不显示文件这个参数,但是在postman没有问题
@ApiOperation(value = "上传文件")
@PostMapping("/uploadFile")
@ExceptionHandler(MethodArgumentNotValidException.class)
@Transactional(rollbackFor = RuntimeException.class)
public List<SaveFileResultData> uploadFile(@RequestPart(name = "files" ) @Size(min = 1 , max = 5 , message = "files:文件数量为1-5个") MultipartFile[] files ,
@RequestParam(name = "fileDir") @Pattern(regexp = FileDIR , message = "fileDir:格式不正确") String fileDir) throws ConstraintViolationException, IOException, BizException {
//上传文件
List<SaveFileResultData> saveFileResultData = new ArrayList<>();
SaveFileResult saveFileResult;
byte[] bytes;
SaveByteFileRequest saveByteFileRequest = new SaveByteFileRequest();
for (MultipartFile file : files) {
try {
bytes = file.getBytes();
saveByteFileRequest.setFile(bytes);
saveByteFileRequest.setFileName(file.getOriginalFilename());
saveByteFileRequest.setFileType(file.getContentType());
saveByteFileRequest.setFileDir(fileDir);
saveByteFileRequest.setAppId(appId);
saveByteFileRequest.setAccessControl(1);
} catch (IOException e) {
throw new IOException("文件IO发生错误!");
}
saveFileResult = UploadFileToOss(saveByteFileRequest);
SaveFileResultData saveFileResultDataParam = BeanUtil.copyProperties(saveFileResult , SaveFileResultData.class);
saveFileResultDataParam.setFileName(file.getOriginalFilename());
saveFileResultData.add(saveFileResultDataParam);
saveByteFileRequest = new SaveByteFileRequest();
}
return saveFileResultData;
}
最后发现:
@RequestParam(“files” , Multipartfile files) 虽然可以接收到但是显示不了
要用@RequestPart 😃