Using Spring Boot 2.1.8, I have two methods in a Rest Controller that expect a single file and multiple files respectively. These are the method signatures:
@PreAuthorize("hasAnyRole('ROLE_ADMIN')")
@PostMapping("/uploadMultipleFiles")
public List<FileResponse> uploadMultipleFiles(@RequestParam("files") MultipartFile[] files);
@PreAuthorize("hasAnyRole('ROLE_ADMIN')")
@PostMapping("/upload")
public FileResponse uploadFile(@RequestParam("file") MultipartFile file);
The single upload works just perfect. I am managing to load a single file from a web client, Postman v7.25.0, and from Swagger 2.
But the multiple file method only works when uploading files from Postman, returning a 400 http error code. Therefore, it does not even enter the method.
The error message in both cases (web client or Swagger) is the same:
can't parse JSON. Raw result:
Missing or unreadable multipart file in request
This is the request headers when calling to /uploadMultipleFiles through Swagger (getting error):

This is the request headers when calling /uploadMultipleFiles from Postman (works fine):

This is the request headers when calling /upload from Postman (works fine):

This is the request headers when calling /upload through Swagger (works fine):

Firstly I thought that Content-Type might have something to do with my problem. But Swagger sends always application/json, and it works with the single upload endpoint.
Any idea?