Сделайте это так -
В вашем контроллере создайте обработчик метода POST
@PostMapping(value = "/test/upload")
public @ResponseBody String uploadFileTest(@RequestParam("file") MultipartFile file, @RequestParam("stringValue") String stringValue, @RequestParam(value = "booleanValue", required = false) String booleanValue) {
//your logic
}
От вашего клиента выполните вызов POST формы с необходимыми параметрами.Ввод JSON с @RequestBody
не будет работать, так как файл не поддерживается типами данных json.
Вы также можете попробовать с POJO, но для этого пропустите ввод @RequestBody
в ваш ввод контроллера.
РЕДАКТИРОВАТЬ: Протестированный пример работы с POJO
Контроллер:
@PostMapping(value = "/test/upload")
public @ResponseBody String uploadFileTest(Dummy dummy) {
return dummy.getFiles().get(0).getOriginalFilename();
}
и POJO:
public class Dummy {
private List<MultipartFile> files;
private String stringValue;
private String booleanValue;
public List<MultipartFile> getFiles() {
return files;
}
public void setFiles(List<MultipartFile> files) {
this.files = files;
}
public String getStringValue() {
return stringValue;
}
public void setStringValue(String stringValue) {
this.stringValue = stringValue;
}
public String getBooleanValue() {
return booleanValue;
}
public void setBooleanValue(String booleanValue) {
this.booleanValue = booleanValue;
}