Я пытаюсь добавить файл изображения в форму с некоторыми другими входными данными,
Это то, что я следовал в реакции (FrontEnd):
handleAddBtnClick=(e)=>{
e.preventDefault();
const data = new FormData()
data.append('file', this.state.selectedFile,this.state.selectedFile.name)
let obj={
name:name,
price:price,
image:data,
quantity:quantity,
shortDesc:shortDesc,
longDesc:longDesc,
}
this.props.addCraftActions.addCraft(obj)
}
И отправлено как post request
Пружинная загрузка Контроллер реализован следующим образом:
@RequestMapping(value = "/add",method = RequestMethod.POST,consumes = {MediaType.MULTIPART_FORM_DATA_VALUE,MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> addCraftItem(@RequestHeader(value = "Authorization") String token, @RequestBody ItemDTO dto) throws Exception {
return ResponseEntity.ok(craftItemService.addItem(dto));
}
@Getter
@Setter
public class ItemDTO implements Serializable {
private long craftId;
private String ciName;
private boolean availabilityStatus;
private double ciPrice;
private MultipartFile imgFile;
private int itemQuantity;
private String shortDescription;
private String longDescription;
И я получаю следующее исключение
com.faster xml. jackson.databind.ex c .InvalidDefinitionException: Невозможно создать экземпляр org.springframework.web.multipart.MultipartFile
(создатели, такие как конструкция по умолчанию, не существуют): абстрактные типы либо должны быть сопоставлены с конкретными типами, либо иметь собственный десериализатор, либо содержать дополнительную информацию о типах
И я хотел бы знать, как я могу это исправить. Любая помощь ценится.