Используйте @RequestPart
, а также, поскольку вы пытаетесь отправить и RequestBody
, и Files
, вы должны добавить его в FormData для отправки данных.
@RequestMapping(value = "/foo", method = RequestMethod.POST, consumes = "multipart/form-data")
public ResponseEntity<DeducteeMaster> createDeductee(@RequestPart("data") DeducteeMasterDTO deducteeMasterDTO,
@RequestPart("trcFile") MultipartFile trcFile,
@RequestPart("tenFFile") MultipartFile tenFFile,
@RequestPart("wpeFile") MultipartFile wpeFile,
@RequestPart("noPEFile") MultipartFile noPEFile)
throws InvalidKeyException, URISyntaxException, StorageException, IOException {
//LOGIC
return // ...;
}
Если вы хотите проверить с помощью CurL
curl -i -H "Content-Type:multipart/form-data"
-F "data =@test.json;type=application/json"
-F "trcFile =@test.csv;type=application/csv"
-F "tenFFile =@test1.csv;type=application/csv"
-F "wpeFile =@test2.csv;type=application/csv"
-F "noPEFile =@test3.csv;type=application/csv"
http://localhost:8080/foo
Если вы отправляете запрос по почте через Angular, React или любой другой язык javascript, попробуйте использовать FormData. Добавьте данные в formData