我有一个Spring Rest控制器,我想从我的UI中正确接收一个表单数据。除了我的建议之外,您还知道其他获取表格数据的方式吗?
我设法使用@RequestPart(“ fields-name ”)来获取数据,但这并不是最佳选择,因为我需要获取表单数据并将其原样发送给另一个rest控制器。
MyResponse addAttachment(@RequestParam("file") MultipartFile file, @RequestParam("note") String note);
最后,我希望流程看起来像这样:
| UI |-((form-data)---> | Java-Spring A | ---(form-data)----> | Java-Spring B |-((file-from-form)-> | DB |
当前看起来像这样:
春季A:myResponse addAttachment(@ModelAttribute AttachmentForm form)
春季B:myResponse addAttachment(@ModelAttribute MultiValueMap<String, Object> form)
在A-> B中,我执行以下操作:
MultiValueMap<String, Object> valueMap = new LinkedMultiValueMap<>();
valueMap.add("note", form.getNote());
valueMap.add("file_name", file.getOriginalFilename()); //Send the file as bytes array
valueMap.add("files", new ByteArrayResource(file.getBytes()));
resttemplate.sendhttpcall(valueMap);// helper function to send between A->B
发送完表单数据后(作为模型对象AttachmentForm),我先进行了解析,然后再将其从A发送到B。restTemplate.exchange之后的一步,它到达了Spring B,并且得到了以下异常(在Expception控制器类中) : “ java.lang.IllegalStateException:找不到接口org.springframework.util.MultiValueMap的主要或默认构造函数”
谢谢
答案 0 :(得分:0)